burpsuite设置宏绕过csrf token

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了burpsuite设置宏绕过csrf token相关的知识,希望对你有一定的参考价值。

为了防止csrf和表单重复提交,有些系统使用了Token机制,具体机制可自行研究,这对我们的个别测试造成了一定的不便。

解决思路:

1、将获取token的操作设置为宏,自动完成每次重新获取token的操作(最为省时,但比较麻烦)

2、测试阶段让开发将token设为一个定值(最为方便)

3、全部测试均使用proxy模块(最为简单,但最为耗时,且无法完成高级自动化测试功能)

 

针对思路1,百度了一下,发现答案同质化严重,基本均参考外国博客:

https://labs.asteriskinfosec.com.au/fuzzing-and-sqlmap-inside-csrf-protected-locations-part-1/

实际试了下,发现还是英文原版的看的明白,中文的写的都太简略

如下为burpsuite绕过token的方法:

1、进入options选项、选择sessions

2、添加一个session handing rules,在弹出的session handing rules editor中输入rule的名字,并添加一个action

技术分享

3、在点击Add弹出的菜单中选择run a macro(设置一个宏)

技术分享

4、之后选择添加一个宏(点击Add

技术分享

5、此时会弹出两个页面:macro recordermacro editor

 

首先看macro recorder页面,使用方式和proxy模块中http history一样

具体操作方式(以最简单的登录为例):

1)设置好浏览器,关闭burpsuite的拦截器

2)清掉之前的请求记录,开启一个新的浏览器(防止之前请求的影响)

3)访问登录页面,此时可以看到响应中有_csrf参数,目的达到

4ctrl选中刚才的get请求,点击OK

 

6、此时macro recorder页面会关闭,进入macro editor页面

技术分享

可以在此页面测试宏(对于比较复杂的宏)

 

7、点击OK,回到action editor界面,选择只替换token参数

技术分享

8、回到rule editor界面,选择scope页,选择此宏的作用域

9、如下我们就绕过了登陆页面的token,即可以拿一个请求重复发送,每次重新登陆获取token的步骤burpsuite自动帮我们做了。

 

intruder里验证,好的,我们发现我们可以对密码进行爆破了~

技术分享

但是实际使用中遇到了一些问题:

如果token不是位于参数里而是位于header里,即X-CSRF-TOKEN,目前无法替换,不知道可有好的方法。

以上是关于burpsuite设置宏绕过csrf token的主要内容,如果未能解决你的问题,请参考以下文章

如何绕过csrf保护,并在burp suite中使用intruder?

小技巧 | Burpsuite爆破含CSRF-Token的程序

实战!使用burp macros和sqlmap绕过csrf防护进行sql注入

BurpSuite 暴力破解之绕过 token

暴力破解绕过token限制

绕过#define'd 宏?