最近打dvwa high级别的csrf靶场发现,很多都是用的xss反弹token,或者使用Burp Suite CSRF Token Tracker 这个插件来获取token。其实还有一种方法,就是通过Burp自带的Macro 来获取token
配置Macro
1.首先就是要选包
那么选那个包呢?答:token刷新包。
先抓修改密码的包看一下

说明修改密码前token已经到本地了,检查一下,发现是隐藏在页面了

这个token 是怎么来的呢?就是刷新这个页面获取的

发送到repeater,验证每次是否刷新token


2. 配置环节
Proxy->Proxy settings->sessions,找到Macro ->add


找到刷新Token的那个包,然后点击ok

然后点击Configure item

然后进到这个页面,点击add

然后按照图里面配置,一定要先选择Refetch response
对于start after expression和end at delimiter一般来说双击token值就可以自动填写,但值很少,很难匹配上,可以手动复制token前后
start after expression:<input type='hidden' name='user_token' value='
end at delimiter: />
然后点击ok ->ok回到sessions界面,配置好的话会有显示

找到Session handling rules->add

点击add,点击Run a macro

按照图中的配置,然后ok

配置好之后,然后选择 Scope

选择好范围,然后点ok

3.过程
抓一个修改密码的包发送到repeater验证


验证一下,密码333,登陆成功


4.原理
Burp 在后台默默帮你发了一次 GET 请求,提取了新的 Token,替换了你发送包里的旧 Token,然后才发往服务器。
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


