暴力破解复习及Intruder模块详解
一、关键词解读
Burp Suite:用于攻击web渗透测试工具;
Proxy:代理模块,用于过滤数据、拦截数据和抓包;
Intruder:攻击模块,用于对web渗透测试;
Positons:攻击方式的确定以及发起攻击,用于设定攻击方法与发送数据格式;
Payloads:攻击模块下的载荷模块,配置字典;
Options:攻击模块下的指令模块,用于攻击结果处理设置;
二、基于表单的暴力破解
1、随意输入账号密码到靶页面并点击登录:
2、利用Proxy > HTTP histroy抓包并发送至Intruder模块:
3、确定攻击方式,此处我们利用Cluster bomb(集束炸弹)(较为常用);
4、确定攻击格式,只将需要传的变量值加上标识符§:
5、进入Payloads载荷模块,Payload set中数字对应前面的第几个变量(我这里的1=账号,2=密码),分别为这几个变量添加Payload Options破解变量字典:
6、进入Options攻击结果处理设置,在Grep-Match中添加密码错误的关键词进行过滤审阅:
7、设置完以上攻击方式、格式、方法以及结果处理后,即可进入Postions模块中点击开始攻击Start attack得到结果:
响应结果中不含报错信息(username or password is not exists)的即为正确账号密码。
三、验证码绕过(on client)
1、可通过查看网页源代码发现该验证码属于前端自认证,服务器不判断:
2、故可按基于表单的暴力破解方式破解,不需要将验证码做成变量。
四、验证码绕过(on server)
1、可通过查看网页源代码发现前端无验证码认证,故属于后端认证;
2、先随意输入账号、密码和验证码,通过代理模块下的抓包功能(Proxy>Intercept is on):
3、点击Forward查看数据提交到哪里处理:
或者可以查看源代码中验证码来源:
3、打开showvcode.php分析:
4、引用了function.php,打开分析:
发现session_start()在showvcode.php中调用打开后,没有在funtion.php用session_distroy()关闭,某个状态可能储存没清空有问题。
5、在目标页面分别尝试输入空验证码、错误验证码和正确验证码最后发现,正确的验证码输入后状态未更新可以继续使用;
6、故第一次驶入正确验证码后作为常量传值,仍可使用基于表单的暴力破解方法。
五、Intruder攻击模块详解
1、子模块:
(1)Target:用于配置目标服务器进行攻击的详细信息;
(2)Positions:攻击方式的确定以及发起攻击,用于设定攻击方法与发送数据格式;
(3)Payloads:攻击模块下的载荷模块,配置字典;
(4)Opetions:攻击模块下的指令模块,用于攻击结果处理设置;
2、Targe:
(1)Host:填写目标主机的IP或主机名;
(2)Port:填写目标主机的端口号;
(3)Use HTTPS:指定的SSL是否应该被使用。
3、Positions:
(1)Attack type:攻击方式的选择:
1)Sniper:对变量依次进行破解,多个标记依次进行(一次行动只对一个标记发送一个数据进行破解);
2)Battering rm:对变量同时进行破解,多个标记同时进行(一次行动对多个标记发送相同一个数据进行破解);
3)Pitchfork:每个变量对应一个字典,取每个字典的对应项(一次行动对多个标记发送多个字典中序号相同的数据进行破解);
4)Cluster bomb(集束炸弹,常用):每个变量对应一个字典,并且进行交集破解,尝试各种组合。(交叉破解,适用账号+密码的破解)。
(2)§:变量注释符(前后个一个)。
4、Payloads:
(1)Payload Sets:变量数量类型设置(数字代表第几个变量);
(2)Payload Opetions:破解字典的增删改查;
(3)Payload Processing :对生成的Payload进行编码、加密、截取等操作;
(4)Payload Encoding:对应字符进行URL编码;
5、Options:
(1)Request Headers:配置请求头(是否更新、是否关闭连接);
(2)Request Engine:设置发送请求的线程、超时重试等;
(3)Attack Results:设置攻击结果的显示;
(4)Grep – Match:添加密码错误的关键词进行过滤审阅;
(5)Grep – Extract:通过正则提取返回信息中的内容。
来源:CSDN
作者:土豆.exe
链接:https://blog.csdn.net/weixin_43526443/article/details/104418648