反CSRF爆破的三种姿势

admin 2022年6月10日13:33:29评论40 views字数 1076阅读3分35秒阅读模式

姿势1:CSRF Token Tracker

CSRF Token Tracker是个插件,可以在BApp Store下载安装

反CSRF爆破的三种姿势

这种方式可以说是最简单的,但是不适用姿势2和姿势3中的案例
现有一个请求参数是user_token


反CSRF爆破的三种姿势

只需要在插件中添加
反CSRF爆破的三种姿势


注意这里有个坑(搞了好久)
比如你想在repeater模块测试一下重新发送请求会不会修改密码
反CSRF爆破的三种姿势

发现返回的结果仍然是302
这里是需要有一个有效的,没有使用过的user_token去请求的!
然后再去重放请求包就都会自动更新token了
总结一句就是你第一次用有效的token重放请求包就永远有效(自动更新token了)
你第一次用无效的token重放请求包就永远无效

姿势2:定义宏

在这个案例中使用CSRF Token Tracker无法成功自动更新token

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

开始定义宏

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

一路OK回到这里

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

不懂就选择1,在所有请求前都运行宏


反CSRF爆破的三种姿势

来到repeater模块重新发送请求就不会说非法的csrftoken


反CSRF爆破的三种姿势
来看日志发生了什么


反CSRF爆破的三种姿势

我们使用repeater重放了登录的请求,也就是图中第71个请求
宏帮我们自动进行了了第70个请求获取了新的token让第71个带着新的token去登录

姿势3:宏+Extractor

在这个案例中前两种姿势均无效
下载安装插件

反CSRF爆破的三种姿势

先看下两个请求包
第一个请求包就是获取token的

反CSRF爆破的三种姿势

第二个就是带着token去访问

反CSRF爆破的三种姿势

看过这两个请求包应该就明白了
这次token是在请求头中
而定义宏的时候会让你选择更新token的地方
这个地方却没有更新请求头的功能
所以姿势2在这里就失效了
反CSRF爆破的三种姿势

首先定义宏获取token
这个宏只需要要确保在请求2之前会执行请求1
相比于姿势2的步骤简单一点

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

到这里宏就配置好了
在repeater重放请求2然后再logger+=里面查看
确保每次都会在请求2前自动执行请求1就是正常的

反CSRF爆破的三种姿势

然后配置插件Extractor
把两个请求包都发送到Extractor


反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

反CSRF爆破的三种姿势

此时回到repeater模块重放发现token就有效了


反CSRF爆破的三种姿势

再次回到logger++看发生了什么
看到第87个请求获取的token值为407667d008b147199d174681a655aea0


反CSRF爆破的三种姿势

第88个请求包的accessToken值也是407667d008b147199d174681a655aea0


反CSRF爆破的三种姿势

总结一下姿势3的思路
宏负责在请求2前发送请求1
Extractor插件负责匹配和替换token


源:先知(https://xz.aliyun.com/t/11419)

注:如有侵权请联系删除



反CSRF爆破的三种姿势




反CSRF爆破的三种姿势

欢迎大家加群一起讨论学习和交流

反CSRF爆破的三种姿势

快乐要懂得分享,

才能加倍的快乐。



原文始发于微信公众号(衡阳信安):反CSRF爆破的三种姿势

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月10日13:33:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   反CSRF爆破的三种姿势http://cn-sec.com/archives/1104252.html

发表评论

匿名网友 填写信息