本帖最后由 zhaorong 于 2021-7-7 16:49 编辑
0x00 前言
上文介绍了BP的Repeater模块 该模块可以实现对数据包进行修改和重新发送 进而对目标系统进行微
调测试本节将以此为基础为大家演示intruder模块。
0x01 Intruder简介
Intruder是可定制的 高度可配的工具 常用于对web应用程序进行自动化攻击 基本流程为设置代理并开启拦截请求
将拦截到的数据包发送到Intruder模块,添加需要攻击的参数 设置参数字典 开始攻击。
就这么直接扔简介怕是一头雾水 接下来通过一个小案例为大家演示它的用法和一些使用技巧
0x02 环境搭建
现如今绝大多数系统都要先登录后使用 本次搭建了一个简历的登录页面和验证逻辑任务
是通过BP弄出正确的账号 由于源码较少直接贴图
注意:为了模拟真实环境 源码中的账号和密码已经打了厚码 可以随意填写一组
千万注意要用单引号包围起来
使用phpstudy创建站点
访问http://localhost/login.html
查看效果
输入连续10年霸榜的账号:admin 123456
OK 一切运行正常 接下来开始进入主题
0x03 为什么需要Intruder
这个问题可以从接下来的内容获取答案
首先打开BP设置代理(用BP自带的浏览器可以忽略此步骤)
访问
http://localhost/login.html
开启截断 随意输入一组账号密码点击登录
成功拦截到登录请求包 光速发送到Repeater
现在有两种方式爆破账号密码:
1、在浏览器中尝试
2、在BP中修改参数值
无论哪种方式都需要手工进行修改并发送 费时费力 这时候要是有一款能够自动化测试
的工具就香了Intruder也由此而生
0x04 Intruder介绍
将登录的请求包发送至Intruder
Intruder下有四个部分 接下来逐个介绍
4.1 Target
该部分设置攻击目标 包含目标主机(域名或IP 目标端口以及是否使用HTTPS协议发送数据包
4.2 Positions
该部分主要设置攻击模式以及指明 恶意数据 的位置 每一处恶意代码都用一对$包围 在本例中需要爆破用户名和密码
PS:添加攻击位置仅需鼠标选中数据片段点击右侧添加即可
攻击类型介绍
狙击手:使用同一组数据对每一个位置都测试一遍 不同位置相互独立
破城槌:在所有的位置同步使用同一组测试数据
音叉:允许为每个位置单独设置一组数据
集束弹:允许为每个位置设置一组数据 不同于音叉 BP会自动对数据进行组合 组合方式类似于笛卡尔积
4.3 Payloads
在刚才添加测试数据时已经介绍一半了 不过刚才使用的是直接添加 当数据量较大时这个方法
肯定不太行BP为我们提供了从文件中读取数据的功能
注意文件内容的换行符尽量使用系统标准换行符
有些时候发送的数据要经过一些编码或者其他处理 这时候负载处理器提供规则
设定功能 比如将所有的数据包都进行SHA1运算
此外 BP还支持自定义自动编码的字符
4.4 Options
该部分为Intruder的设置
请求引擎处 线程数可以根据目标系统的负载能力和实际情况灵活设定
正则匹配支持在响应包中检索内容并标识 正则提取支持从响应包中检索并提取
其余选项可以根据实际情况选择
0x05 实战
说了这么多 回到本次的演示环节中 通过Intruder爆破出预设的用户名和密码吧。
准备两份字典分别存储可能的用户名和密码 推荐将正确的账号密码混入其中
通过上面的介绍 爆破密码最好使用集束弹模式
设置测试数据
设置保持默认即可 开始攻击
结果很快就完成了 但是面对繁杂的条目如何挑选想要的结果呢 这里推荐大家一个基础方法就是看数据包状态和
长度由于本次环境响应码都是200 所以重点关注响应数据的长度 点击长度可以对结果进行排序
发现有一项与其他格格不入 点击查看详细数据
嘿嘿,渗透有时候就是这么容易~~~
0x06 END
随着攻防对抗不断升级 爆破难度逐渐提高 以后各位还会通过BP拓展插件 浏览器自动
化测试脚本测试等多种途径得到通行证。