Burp Suite 宏与会话处理实战:突破 CSRF 令牌防护
Burp 宏与会话处理
我使用 Burp Suite 多年,但直到两周前才真正开始使用宏功能。当时我需要用 Intruder 暴力破解一个包含 CSRF 令牌的表单,该令牌由 JavaScript 动态生成并写入表单。为了确保每次请求都携带有效令牌,必须从 JavaScript 提取最新令牌。本文记录了我搭建测试环境并最终实现自动化处理的完整过程。
测试环境搭建
目标应用采用 PHP 实现核心逻辑:
复制代码
关键流程说明:
GET 请求时生成随机 MD5 令牌存入 Session
表单通过 JavaScript 动态注入令牌值
POST 请求时验证提交令牌与 Session 是否匹配
未执行 JavaScript 会导致提交空令牌
攻击实施步骤
1. 创建宏
进入
Project options > Sessions
标签页在 Macros 区域点击
Add
按钮从代理历史记录中选择包含令牌的 POST 请求
2. 配置自定义参数
在宏编辑器中点击
Configure Item
添加
Custom parameter locations in response
定义参数名为"token"并高亮响应中的令牌值
3. 设置会话处理规则
创建新规则并添加
Run a macro
动作选择之前创建的宏
在 Scope 标签页设置目标 URL 范围
4. 验证功能
在 Repeater 中重放请求
成功时响应应显示"Success"
每次请求自动更新令牌参数
技术要点
Burp 默认不执行 JavaScript,需要宏机制捕获动态内容
自定义参数定位可从响应中提取实时令牌
会话处理规则将宏与请求流程绑定
官方文档参考:Macro Editor | Session Handling Rules更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码
办公AI智能小助手
评论