Burp Suite利用宏绕过随机码

为了防止CSRF攻击,服务端随机产生一个token,然后将token交给前端,下次发送请求时,需将token一并发送,由服务器端验证是否一致。
注:这里是自己搭建的环境,重点在于总结宏绕过

实验步骤:

1、访问目标靶机,选择密码**模块并设置Burp Suite利用宏绕过随机码

中等级
http://192.168.1.140:8086/login.php

2、尝试登录,观察

如图:较低等级,中等级添加了salt值,查看网站源代码,查看salt值
Burp Suite利用宏绕过随机码

注:重复访问操作会发现salt值是随机的(查看网页源代码)
分析得出salt是一个隐藏的字段,并跟随Request发出,用来验证每个Request的有效性。

3、利用BurpSuite中Option模块(Macros宏)绕过salt

注:首先获取salt的值,每次发送Request时均携带此值。

(1)打开Options-Sessions-Macros,并Add一个Macro(宏):

Burp Suite利用宏绕过随机码

(2)在Macros Recorder中选择需要添加的请求,并点击OK:

Burp Suite利用宏绕过随机码

(3)更改Macro名称,选择Configure item编辑此请求(修改宏名称为get_salt)

Burp Suite利用宏绕过随机码

(4)下方有名为Custom parameter locations in response(在response中定义参数位置)的窗口,点击Add:

Burp Suite利用宏绕过随机码

(5)更改参数名称,并选择参数位置,此时Burp可以自动生成正则表达式:

Burp Suite利用宏绕过随机码

(6)点击OK后,可以看到Macro已经设置好了:

Burp Suite利用宏绕过随机码

(7)之后需要添加会话处理规则,选择Options-Sessions-Session Handling Rules-Add:

Burp Suite利用宏绕过随机码

(8)添加描述之后,选择Add-Run a macro:

Burp Suite利用宏绕过随机码

(9)选择刚才设置的Macro,并设置要更改的参数名称,选择OK:

Burp Suite利用宏绕过随机码

(10)在Scope选项卡中,选择适用范围与URL:

Burp Suite利用宏绕过随机码

(11)这样规则就添加成功了,选择Enabled:

Burp Suite利用宏绕过随机码

(12)此时规则已经应用成功,可在Repeater中进行测试:(出现 salt值每次发生变化则表示完成)

Burp Suite利用宏绕过随机码

(13)可以看到,每次点击Go之后,salt的值都会根据上个Response更新,此时在进行Intruder Attack即可,注意由于Requests有先后顺序,Threads并不能设置太高(根据这道题的局限性,只能设置为1):

先看一个失败的回包:
Burp Suite利用宏绕过随机码

再看一个成功的回包:
Burp Suite利用宏绕过随机码

注:若回包不能看回包长度,需要看里面的相关值 这里需要如进在Options选择卡中,增加Match字段继续匹配

(14)如果根据返回长度无法判断,则需要进行进一步分辨,如进在Options选择卡中,增加Match字段继续匹配:

Burp Suite利用宏绕过随机码

注:这里清除掉其他干扰选项,只添加sucess

(15)再次观察返回结果,成功得到账号,密码(bee,bug) **成功

Burp Suite利用宏绕过随机码