Skip to content

This-is-Y/BetterReplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BatterReplace

Burp Suite 增强版匹配替换插件,支持对 HTTP 请求/响应的任意位置(URL、Host、Header、Body)进行正则或字面量匹配替换,并提供完整的操作审计日志。

特性

  • 7 种匹配类型:请求行(URL)、主机头(Host)、请求头、请求体、响应头、响应体、全部
  • 正则 & 字面量:支持正则表达式或纯文本匹配,可切换大小写敏感
  • 作用域过滤:按 Host 和 URL 通配符限定规则生效范围(* 匹配任意)
  • 全工具拦截:通过 IHttpListener 拦截 Proxy、Repeater、Intruder、Scanner 等所有工具
  • 详细诊断日志:勾选"详细诊断日志"后,每条规则的评估过程完整输出到 Burp Output 面板
  • 规则调试器:内置测试对话框,粘贴样本数据即可验证规则是否命中,无需实际发送请求
  • 替换审计日志:每次替换记录时间、工具、URL、匹配内容、替换内容
  • CSV 导入/导出:规则可导出备份,跨设备共享

兼容性

项目 版本
Burp Suite 2023+ (Montoya API) / 兼容旧版 Extender API
Java 8+
构建工具 Gradle 9.x

快速开始

安装

  1. release下载最新版本
  2. Burp Suite → ExtenderExtensionsAdd
  3. Extension Type 选择 Java,选择下载的 JAR 文件
  4. 加载成功后,可在 Burp 面板中看到 BatterReplace 标签页

使用

创建规则

  1. 点击 添加规则
  2. 填写规则:
    • 名称:便于识别的规则名
    • 匹配类型:选择要匹配的位置(请求行/Host/Header/Body 等)
    • 匹配内容:字面量文本或正则表达式
    • 替换为:替换后的内容
    • 使用正则:勾选后匹配内容按正则处理
    • 区分大小写:控制匹配是否区分大小写
    • 作用域主机 / URL:限定规则只在特定 Host/URL 下生效(支持 * 通配符,留空=全部)
  3. 点击 确定

大致效果

  1. 配置规则 alt text
  2. 浏览器效果 alt text

调试规则

  1. 选中一条规则,点击 测试规则
  2. 在输入框中粘贴样本 HTTP 报文内容
  3. 点击 测试,查看匹配结果和替换预览
  4. 确认无误后关闭对话框

诊断日志

  • 勾选顶部 详细诊断日志 复选框
  • 所有规则的评估过程会输出到 Burp 的 Extender → Output 面板
  • 日志格式:[M&R-DBG] [工具名] 规则#N "规则名" -> 跳过/匹配原因

查看替换记录

  • 下方 日志 面板自动记录每次实际替换
  • 包含:时间、工具、方向(请求/响应)、规则名、主机、URL、匹配内容、替换内容

项目结构

burp-api/
├── build.gradle                          # Gradle 构建脚本 (Java 8)
├── src/main/java/burp/
│   ├── BurpExtender.java                 # 入口:IBurpExtender + IHttpListener
│   ├── MatchReplaceRule.java             # 规则数据模型
│   ├── MatchReplaceEngine.java           # 核心匹配替换引擎
│   ├── MatchReplaceTab.java              # Swing UI 标签页
│   ├── ReplacementLogEntry.java          # 替换日志条目
│   └── RuleSerializer.java              # CSV 导入/导出
└── build/libs/burp-api-1.0.jar           # 构建产物

构建

gradle clean build

构建产物位于 build/libs/burp-api-1.0.jar

常见问题

规则不生效?

  1. 勾选 详细诊断日志,查看 Burp Output 面板
  2. 检查日志中的 跳过 原因:
    • 作用域不匹配 → 调整 scopeHost / scopeUrl
    • 类型不适用于响应 → 匹配类型选错(如选了"请求行"但用于响应)
    • 模式未命中 → 用 测试规则 按钮调试正则/字面量
  3. 确保规则已 启用

作用域 URL 怎么填?

  • /api/report → 匹配 URL 中包含此路径的请求
  • *.example.com → 匹配该域名及其子域名
  • 留空 → 匹配所有

作者

This_is_Y claude(由deepseekV4强力驱动)

协议

MIT License

About

一个更细的burp replace插件(我觉得

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages