码迷,mamicode.com
首页 > 其他好文 > 详细

burpsuite设置宏绕过csrf token

时间:2016-01-29 15:44:06      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:

为了防止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

标签:

原文地址:http://www.cnblogs.com/clarkar/p/5168742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!