# 怎样使用BurpSuite宏获取CSRF-TOKEN ## 前言 在Web安全测试中,CSRF(跨站请求伪造)是常见的漏洞类型之一。许多防御措施会采用CSRF令牌(CSRF-TOKEN)机制,这给自动化测试带来了挑战。BurpSuite作为渗透测试的瑞士军刀,其**宏(Macro)**功能可以动态获取并更新CSRF令牌。本文将详细介绍如何配置BurpSuite宏来自动化处理CSRF令牌。 --- ## 一、CSRF令牌的工作原理 CSRF令牌通常是服务器生成的随机字符串,通过以下方式传递: 1. 隐藏在HTML表单的`<input type="hidden">`字段中 2. 存储在Cookie中 3. 通过响应头(如`X-CSRF-TOKEN`)返回 **典型场景**: 用户访问页面A时,服务器返回包含CSRF令牌的表单;提交表单时,服务器验证令牌是否匹配,否则拒绝请求。 --- ## 二、BurpSuite宏的作用 当测试需要连续请求(如扫描或爬虫)时,手动更新CSRF令牌效率极低。BurpSuite宏可以: 1. **自动提取**:从指定响应中捕获CSRF令牌 2. **动态更新**:将令牌注入后续请求 3. **条件触发**:在会话规则中定义触发条件 --- ## 三、配置步骤详解 ### 1. 捕获初始请求 - 使用Burp Proxy拦截包含CSRF令牌的请求/响应(通常是登录或表单页面)。 - 将请求发送到`Repeater`模块测试令牌提取逻辑。 ### 2. 创建宏 1. **进入`Project options > Sessions`** 在左侧菜单选择`Macros`标签页,点击`Add`。 2. **配置宏步骤** - 选择包含CSRF令牌的请求(如`GET /login`)。 - 在`Configure Item`对话框中勾选需要处理的请求。 3. **设置令牌提取规则** - 在`Parameter handling`选项卡点击`Add`。 - 选择提取来源: - **响应体**:使用正则匹配(如`name="csrf_token" value="(.*?)"`) - **Cookie/Header**:直接指定字段名 - 测试提取结果是否准确。 ### 3. 配置会话规则 1. **进入`Sessions > Session Handling Rules`** 点击`Add`新建规则,选择`Rule Actions > Run a macro`。 2. **关联宏** - 选择刚创建的宏。 - 设置作用范围(如URL匹配`^https://target.com/.*`)。 3. **更新请求参数** - 在`Parameter handling`中指定需要替换的字段(如表单字段`csrf_token`或头部的`X-CSRF-TOKEN`)。 ### 4. 验证配置 - 在`Repeater`中发送请求,观察是否自动更新令牌。 - 使用`Logger++`插件(需安装)检查历史请求中的令牌变化。 --- ## 四、实战案例 ### 场景:测试密码修改功能 1. **目标流程** - 访问`/profile`获取CSRF令牌 → 提交`POST /change-password`包含令牌。 2. **宏配置** ```plaintext Macro Steps: 1. GET /profile - Extract: <input type="hidden" name="token" value="([a-f0-9]{32})"> 2. POST /change-password - Update: Form field `token` with extracted value Scanner或Intruder中测试时,令牌会自动刷新。Burp Collaborator验证响应是否包含令牌。"token":"(.*?)")。Continue after processing。Check session is valid选项,强制每次请求前执行宏。Extensions增强功能CSRF Token Tracker:自动管理多令牌场景。AutoRepeater:批量测试令牌有效性。/api/csrf),需: $.token)。Project options > Misc > Session tracer实时跟踪令牌更新。通过BurpSuite宏自动化处理CSRF令牌,可以显著提升测试效率。关键在于精准配置提取规则和会话作用范围。建议在实际项目中结合其他模块(如Scanner、Intruder)进行综合测试。
注意:本文基于BurpSuite Professional 2023.6版本,社区版部分功能可能受限。 “`
文章总计约1300字,涵盖以下要点: 1. CSRF令牌的背景知识 2. BurpSuite宏的配置全流程 3. 实战案例与排错指南 4. 高级技巧与插件推荐 格式采用Markdown标准语法,支持代码块、列表、引用等元素。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。