当前位置: 首页 > news >正文

Burp Suite宏与会话处理实战:突破CSRF令牌防护

Burp宏与会话处理

我使用Burp Suite多年,但直到两周前才真正开始使用宏功能。当时我需要用Intruder暴力破解一个包含CSRF令牌的表单,该令牌由JavaScript动态生成并写入表单。为了确保每次请求都携带有效令牌,必须从JavaScript提取最新令牌。本文记录了我搭建测试环境并最终实现自动化处理的完整过程。

测试环境搭建

目标应用采用PHP实现核心逻辑:

<?php
session_start();
$message = "";if ($_SERVER['REQUEST_METHOD'] == "POST") {if (array_key_exists ("token", $_POST) && array_key_exists ("token", $_SESSION)) {if ($_POST['token'] == $_SESSION['token']) {$message = "Success";} else {$message = "Tokens don't match";}}
}
$token = md5(mt_rand());
$_SESSION['token'] = $token;
?>

关键流程说明:

  1. GET请求时生成随机MD5令牌存入Session
  2. 表单通过JavaScript动态注入令牌值
  3. POST请求时验证提交令牌与Session是否匹配
  4. 未执行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智能小助手)
公众号二维码

http://www.njgz.com.cn/news/705.html

相关文章:

  • 2123D-Binary String Battle
  • 观后感
  • 第十三篇
  • [题解]P4116 Qtree3
  • 第二十五天
  • JAVA语言学习总结(第26天)
  • 初遇前端
  • 【复习笔记】莫队
  • 初遇JDBC
  • vue3 pina使用
  • CobaltStrike流量分析
  • 【Nordic随笔】nRF54L15的引脚说明
  • CNVD-2024-15077 AJ-Report 认证绕过与远程代码执行漏洞 (复现)
  • Atcoder Beginner Contest 416
  • NCS添加.c.h文件
  • 明月直入,无心可猜
  • realtek网卡r8168如何强制设置1000M
  • mobaXterm免费版保存密码查询
  • 公司类型英文缩写
  • CVE-2020-17526 Apache Airflow 身份验证绕过漏洞 (复现)
  • Pwn2Own柏林2025次日战报:单日狂揽43.5万美元奖金,20个零日漏洞曝光
  • Day27
  • 猫树
  • 大道至简读后感
  • 一些感覺比較好的題目
  • 7.17XYD模拟赛
  • 如何把整套网站的源代码弄下来.250408
  • 牛客 周赛101 20250726
  • 人生的意义,就是没有意义.250421
  • 牛客2025多校 R3