一、简介
Token是服务器端生成的、下发给客户端的、用来对客户端身份进行验证的一种令牌;若是Token不匹配,则不会进行身份验证。所以需要对Token进行识别匹配,从而使密码爆破能够顺利进行。
环境:
DVWA + Burpsuite Pro
二、流程
1、使用DVWA的高级模式,进入爆破模块,进行抓包,并发送到攻击器。
2、进行如下配置
Position模块
1:攻击模式选择Pitchfork,意为多对多,一一匹配。
2、选定密码和token字段设置变量
Paloads模块 – 1
1:选定第一个变量(密码)
2:攻击载荷选择简单列表
3:选择从文件导入(这里做演示则随机添加了包含正确密码的若干密码)
注意:1处需要配置第二个变量的密码模式(token),后续会对token配置,回头再回此设置。
Resource Pool模块
(注:这里是最新版的多线程模块,老版本应在Request Engine处)
多线程设置为1,因为token是服务器端生成的验证令牌,无法多线程爆破(一次只有一个token生效)
Option模块
选择Grep Extract模块
点击Add,依次填写
1:获取返回包内容
2:匹配关键字token
3:选定token值,自动生成匹配规则
4:OK
Redirections模块
选定本次抓包的全部内容为重定向的范围(token在body的隐藏部分)
最后,回到Payloads模块
1:选定第二个变量
2:选定payload类型--递归匹配(这里选完后自动加载了刚刚配置token的匹配规则--payload option部分)
3:粘贴抓包部分的token值--需要给定初次抓包的匹配值
4:配置完成,开始攻击
3、结果
可见token自动匹配,发包成功
按照长度排序(状态码相同,无法参考)
在返回包的Render部分,可见DVWA爆破成功的界面。
至此,token绕过爆破攻击结束。