一、漏洞靶场
进入bWAPP靶场,将难度调为Medium,选择Broken Auth-Password Attacks 进入关卡。
说明:
在Medium难度中,比low难度多了一个salt字段,使得前端在每次发送时,增加了一个随机的salt字段,用来防止数据包重放,这样Intruder模块就失效了。
我们可以查看一下页面源码:
salt是一个隐藏的字段,并跟随Request发出,用来验证每个Request的有效性。
二、漏洞复现
1、在登录框内任意输入数字点击Login,我们抓取此时的数据包。(我这里使用的是burpsuite)
看到此时数据包内增加了一个salt字段
2、打开Options-Sessions-Macros,并Add一个Macro:
(1)在Macros Recorder中选择需要添加的请求,更改Macro名称:getsalt ,选择Configure item编辑此请求。
(2)进入编辑页面后下方有名为Custom parameter locations in response(在response中定义参数位置)的窗口,点击Add,更改参数名称,并选择参数位置,此时burpsuite就会为我们自动生成正则表达式。
(3)并且用鼠标选择字符,首先获取salt的值,每次发送Request时均携带此值
(4)点击ok,此时宏建造完成。
3、然后我们需要添加一个会话处理规则,选择Options-Sessions-Session Handling Rules-Add:添加描述,然后点击add按钮。
(1)选择Add-Run a macro,选择刚才设置的Macro,并设置要更改的参数名称,选择OK。
(2)会话处理规则就完成了。
(3)可在Repeater中进行测试
(4) 我们每次点击send后,salt字段都会根据上一个Respones更新.
4、重新抓包,发送到Intruder模块进行爆破。
爆破出正确的账号、密码