使用Burp Suite 两种方式绕过 CSRF_TOKEN

本文详细介绍了如何在存在和缺失CSRF_TOKEN的情况下,分别通过Intruder工具和代理连接实现绕过策略,包括设置变量、宏和SessionHandlingRules。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种绕过姿势(csrf_token存在于当前页面):

按照国际惯例将请求发送到Intruder,然后在Position中设置变量。

我这里模拟一下,各位看官就凑合看吧,因为有csrf_token,那么变量数量肯定大于1Attack type就需要更改了,因为Sniper只支持单个变量,我们设置成Pitchfork


我还设置了3个变量,前面2个变量如何设置我想大家都懂,那么csrf_token如何实时获取呢?

注意在Options中需要将线程改成1,因为csrf_token的原因我们无法多线程并发,因为如果多线程并发,获取的token和服务器中对应的token就会混乱,导致你本次请求token失效。

上图中可以看见Grep-Extract,我们点击Add进行添加。

此时我们可以看见当前页面Responseheaderhtml内容,我们找到csrf_token的元素,注意我这里是模拟的,所以我随便选一个。

双击就会自动帮我们填写前缀后缀,当然我们可以手动更改,设置完成后,点击OK

第一个和第二个变量设置我跳过了,我们看第三个变量如何设置,看图:

此时,我们开始攻击就会在每次请求前,先访问一遍当前页面获取CSRF_TOKEN,然后将它替换到变量3的位置。

第二种绕过姿势(csrf_token不存在于当前页面):

这种方式也可以被利用到SQLMap绕过CSRF_TOKEN中,直接使用代理连接Burp即可。

分两步:

  • 设置宏
  • 添加影响规则

第一步

切换到Project options,找到Macros点击Add

选择csrf_token存在的request,点击ok。

继续点击Configure item
在这里插入图片描述
然后点击Add。

和第一种方式一样的配置方法,Parameter name起个名字,要和攻击页面的csrf_token变量名相同(因为我懒得在讲rules如何自定义变量名了,所以这里起同名即可),看图,因为我这里是演示而已,随便选了一段:
在这里插入图片描述
选择刚添加上的,点击OK.

给宏起个名字,点OK

然后我们应该能看见刚添加的宏

第二步

添加Session Handling Rules
在这里插入图片描述


由于懒得设置作用域,我这里选择了全部URLs,如果是想让代理到Burp的请求都使用这个规则,在Tools Scope勾选Proxy
在这里插入图片描述
Intruder加入我们刚设置的变量,不用写值
在这里插入图片描述
开始攻击,就会自动读取csrftoken

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没事干写博客玩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值