Files
reverse-skill/skills/pentest-tools/references/burpsuite-mcp-guide.md
T
Harry 0a4019d56f fix(router): clamp hot path to routing.json and real auth gate
Keep reverse-skill a skill router, not a platform. RULES hot path is master-route then case-init then PRIMARY. MASTER-ROUTING priority is verified against routing.json. precedent-auth no longer grants. CTF is one R41 pointer, not 40 competition routes. open.ps1 never deletes .i64/.idb. Route-scope parse is line-anchored and last-match. Tests: 168 routing cases, parse-contracts, title-safety in CI.
2026-08-18 14:58:22 +01:00

23 KiB
Raw Blame History

BurpSuite MCP 完整使用指南

来源:PortSwigger 官方文档 + TrustedSec + InfoSec Write-ups(2026-05-24) 适用场景:Web 渗透测试中需要 AI 辅助分析流量、自动化攻击、生成报告

概述

BurpSuite MCP 将 Burp Suite 的所有核心功能暴露给 AI 客户端(Kiro/Claude/Cursor),实现:

  • AI 自动读取代理历史,分析请求中的漏洞
  • AI 自动构造攻击 payload 并通过 Intruder 枚举
  • AI 自动将可疑请求发到 Repeater 验证
  • AI 自动生成渗透测试报告

安装

前置条件

安装 MCP 扩展

方法 A:使用本项目自带扩展(推荐,78 个工具全覆盖)

Windows:

1. 打开 Burp Suite Pro
2. Extensions → Installed → Add
3. Extension Type: Java
4. Select file: <SKILL_ROOT>\burp-mcp-full\build\libs\burp-mcp-full.jar
5. 看到 [MCP] Server started on http://127.0.0.1:9876 即成功

Linux / Kali / macOS:

1. 先编译: cd <SKILL_ROOT>/burp-mcp-full && chmod +x build.sh && ./build.sh
2. 打开 Burp Suite Pro
3. Extensions → Installed → Add → Java
4. Select: <SKILL_ROOT>/burp-mcp-full/build/libs/burp-mcp-full.jar
5. 看到 [MCP] Server started 即成功

方法 B:使用 PortSwigger 官方扩展(21 个工具)

1. Extensions → BApp Store → 搜索 "MCP Server" → Install
2. 去 MCP tab → Enable
3. 端口默认 9876

Kiro MCP 配置(已自动写入用户级别)

{
  "mcpServers": {
    "burpsuite": {
      "command": "node",
      "args": ["D:\\reverse-skill-private-main\\burp-mcp-full\\mcp-bridge.js"]
    }
  }
}

适用于所有 MCP 客户端(Kiro / Claude Code / Cursor / Cline / Windsurf)。

跨平台 MCP 配置

Windows:

{ "command": "node", "args": ["<SKILL_ROOT>\\burp-mcp-full\\mcp-bridge.js"] }

Linux / Kali / macOS:

{ "command": "node", "args": ["<SKILL_ROOT>/burp-mcp-full/mcp-bridge.js"] }

<SKILL_ROOT> 替换为本包的实际安装路径。AI 读取 RULES.md 时会自动检测并替换。

环境变量(可选)

变量 默认值 说明
BURP_MCP_HOST 127.0.0.1 Burp HTTP API 地址
BURP_MCP_PORT 9876 Burp HTTP API 端口

如果 Burp 跑在远程机器或不同端口,设置这两个环境变量即可。

重要:协议说明

本扩展通过 stdio MCP 桥接器(mcp-bridge.js)实现标准 MCP JSON-RPC 2.0 协议:

  • Burp 扩展监听 127.0.0.1:9876(自定义 HTTP API)
  • mcp-bridge.js 将标准 MCP stdio 协议转发到 HTTP API
  • 所有 MCP 客户端通过 stdio 与桥接器通信

前提:Burp Suite 必须在运行且扩展已加载。

健康检查:GET http://127.0.0.1:9876/health 工具列表:GET http://127.0.0.1:9876/tools

使用场景与工作流

场景 1:AI 辅助流量分析(最常用)

何时使用:浏览器挂 Burp 代理浏览目标网站后,让 AI 分析所有捕获的流量

工作流:

1. 浏览器设置 Burp 代理 (127.0.0.1:8080)
2. 正常浏览目标网站(登录、操作功能)
3. 告诉 AI:"分析 Burp 代理历史中的所有请求,找出安全问题"
4. AI 调用 proxy_history → 获取所有请求
5. AI 调用 proxy_detail → 查看可疑请求的完整内容
6. AI 调用 search_history → 用正则搜索敏感信息
7. AI 输出发现的漏洞列表

示例 Prompt:

分析我 Burp 代理历史中 personalblog.fun 的所有请求。
按 OWASP Top 10 分类,找出潜在漏洞。
对可疑端点,发到 Repeater 让我手动验证。

场景 2:自动化枚举攻击(Intruder)

何时使用:需要对参数做暴力枚举(验证码、ID、路径等)

工作流:

1. AI 调用 intruder_attack_async → 多线程数字范围枚举
2. 或 intruder_attack_wordlist → 字典攻击
3. 或 intruder_cluster_bomb → 多参数笛卡尔积
4. 通过 success_length_not 参数自动识别成功响应
5. AI 报告命中结果

示例调用:

{
  "tool": "intruder_attack_async",
  "params": {
    "url_template": "https://target.com/api/verify?code=@@",
    "method": "POST",
    "from": 0,
    "to": 999999,
    "pad_digits": 6,
    "threads": 50,
    "success_length_not": 176
  }
}

场景 3:OOB 漏洞检测(Collaborator)

何时使用:测试 SSRF、XXE、盲注等需要外带数据的漏洞

工作流:

1. AI 调用 collaborator_generate → 生成 payload
2. AI 将 payload 注入到请求中发送
3. 等待几秒
4. AI 调用 collaborator_poll → 检查是否有回连
5. 有回连 = 漏洞确认

场景 4:请求修改与重放(Repeater)

何时使用:需要修改请求参数验证漏洞

工作流:

1. AI 调用 proxy_detail → 获取原始请求
2. AI 调用 repeater_modify_send → 修改 header/body 后重发
3. 分析响应差异
4. 确认漏洞

场景 5:自动化 DAST 扫描

何时使用:对目标做全面漏洞扫描

工作流:

1. AI 调用 add_to_scope → 添加目标到范围
2. AI 调用 crawl → 触发爬虫
3. 等待扫描完成
4. AI 调用 scan_results → 获取发现的漏洞
5. AI 调用 scan_issue_detail → 获取漏洞详情
6. AI 生成报告

场景 6:流量自动修改(HTTP Handler)

何时使用:需要自动给所有请求加 header、替换内容

工作流:

1. AI 调用 register_http_handler → 注册自动修改规则
   - 自动添加认证 header
   - 自动替换请求中的某些值
2. 所有经过 Burp 的请求自动被修改
3. 完成后调用 remove_http_handler 清除规则

场景 7:Cookie/Session 分析

何时使用:分析 session token 的随机性和安全性

工作流:

1. AI 调用 cookie_jar → 获取所有 cookie
2. AI 调用 token_analysis → 分析 token 熵值
3. AI 调用 sequencer → 批量分析 token 随机性
4. 判断 session 是否可预测

完整工具列表(78 个)

Proxy 模块

工具 参数 说明
proxy_history limit, offset, url_filter, method_filter, status_filter 获取代理历史
proxy_detail index 获取指定条目完整请求/响应
proxy_websocket limit WebSocket 消息历史
proxy_history_filtered has_notes, color, limit 按注解/颜色过滤
proxy_clear — 清空历史

HTTP 请求

工具 参数 说明
send_request method, url, body, headers 通过 Burp 发请求
repeater_send request, host, port, https 发送并获取响应
repeater_modify_send request, host, replace_header, add_header, replace_body 修改后重发
send_to_repeater request, tab_name 发到 Repeater tab

Intruder 攻击

工具 参数 说明
send_to_intruder request 发到 Intruder
intruder_attack url_template, from, to, pad_digits, method, success_length_not 数字枚举(同步)
intruder_attack_async 同上 + threads 多线程并发枚举
intruder_attack_wordlist url_template, wordlist, method 字典攻击
intruder_pitchfork url_template, placeholders, method 多参数并行
intruder_cluster_bomb url_template, placeholders, max_requests 笛卡尔积
intruder_battering_ram url_template, wordlist, placeholder 同 payload 填所有位置
intruder_with_options 同上 + throttle_ms, payload_encoding, grep_extract, record_time 高级选项

Scanner

工具 参数 说明
scan url 扫描引导
scan_active request, host, port 主动扫描指定请求
scan_results limit 获取漏洞列表
scan_issue_detail index 漏洞详情
crawl url 爬虫

Scope

工具 参数 说明
get_scope url 查询是否在范围内
add_to_scope url 添加
remove_from_scope url 移除

Collaborator

工具 参数 说明
collaborator_generate count 生成 OOB payload
collaborator_poll — 轮询交互

编码/工具

工具 参数 说明
encode input, type(base64/url/hex) 编码
decode input, type 解码
payload_process input, operation 高级处理(md5/sha1/sha256/reverse等)
convert_request request, convert_to 转换请求方法
export_request request, host, format(curl/python) 导出为代码
generate_csrf_poc request, host 生成 CSRF PoC
extract_from_response index, regex 正则提取响应内容

搜索/标注

工具 参数 说明
search_history regex, search_in(url/request/response), limit 正则搜索
highlight index, color 颜色标记
annotate index, note 添加注释
compare index1, index2 响应对比

配置

工具 参数 说明
export_config — 导出项目配置
import_config config 导入配置
set_upstream_proxy proxy_host, proxy_port, type 设置上游代理
set_dns_override hostname, ip DNS 覆盖
set_http2 enable HTTP/2 开关

Handler(自动修改)

工具 参数 说明
register_http_handler header_name, header_value 或 match, replace 注册自动修改规则
remove_http_handler — 清除规则
register_proxy_rule url_contains 注册拦截规则
remove_proxy_rule — 清除规则

分析

工具 参数 说明
cookie_jar limit, domain Cookie 管理
token_analysis tokens(array) Token 熵值分析
sequencer tokens(array) 序列随机性分析
target_info url 目标技术栈识别

系统

工具 参数 说明
burp_version — Burp 版本信息
add_issue name, url, detail, severity 手动添加漏洞
extensions_list — 扩展信息
save_project — 保存项目
log message, level 写日志

AI 渗透测试最佳实践 Prompt

全面分析 Prompt

你是一名高级渗透测试工程师。请分析 Burp 代理历史中的所有请求:
1. 按 OWASP Top 10 分类潜在漏洞
2. 对每个发现给出风险等级和利用方法
3. 将高风险请求发到 Repeater
4. 不要发送破坏性请求
5. 生成结构化报告

定向攻击 Prompt

目标:https://target.com/api/
1. 搜索代理历史中所有 API 端点
2. 识别认证/授权问题
3. 测试 IDOR(修改 ID 参数)
4. 测试 Mass Assignment(添加额外字段)
5. 报告所有发现

验证码爆破 Prompt

使用 intruder_attack_async 对以下端点进行 6 位数字验证码枚举:
URL: https://target.com/api/verify?code=@@
方法: POST
范围: 000000-999999
线程: 50
成功判断: 响应长度不等于 176

与技能路由的集成

触发条件

当用户提到以下关键词时,自动使用 BurpSuite MCP:

  • "Burp 分析"、"代理历史"、"抓包分析"
  • "Intruder 爆破"、"枚举攻击"
  • "Repeater 重放"、"修改请求"
  • "Collaborator"、"OOB 测试"
  • "DAST 扫描"、"主动扫描"

前置检查

  1. 确认 Burp 是否在运行:GET http://127.0.0.1:9876/health
  2. 如果不在线 → 提示用户启动 Burp
  3. 如果未安装 → 提供下载链接和安装步骤

与其他 skill 的配合

  • js-reverse 发现加密逻辑 → Burp MCP 发送解密后的请求
  • pentest-tools Nmap 发现 Web 服务 → Burp MCP 做深度测试
  • browser-automation 自动化浏览 → Burp 捕获流量 → AI 分析

实战案例集(12 个场景)

案例 1:IDOR 漏洞自动发现

场景:目标网站有用户资料接口 /api/user/123,怀疑存在越权

AI 操作流程:

1. proxy_history → 过滤包含 /api/user/ 的请求
2. proxy_detail → 获取原始请求
3. repeater_modify_send → 修改 ID 参数(123→124→125)
4. compare → 对比不同 ID 的响应
5. 如果能看到其他用户数据 → 确认 IDOR

Prompt 示例:

从 Burp 代理历史中找到所有包含用户 ID 的 API 请求。
逐个修改 ID 参数(+1, -1, 0, 99999),对比响应。
如果能获取其他用户数据,标记为 IDOR 漏洞。

案例 2:JWT Token 安全分析

场景:目标使用 JWT 认证,需要分析 token 安全性

AI 操作流程:

1. search_history → 搜索 "Authorization: Bearer" 或 "token"
2. extract_from_response → 提取所有 JWT token
3. decode → Base64 解码 JWT header 和 payload
4. token_analysis → 分析 token 熵值
5. 检查算法(none/HS256 弱密钥/RS256→HS256 混淆)

Prompt 示例:

搜索代理历史中所有 JWT token。
解码分析:算法是否安全?是否有敏感信息泄露?
尝试 none 算法绕过和弱密钥爆破。

案例 3:API 端点全面发现与测试

场景:黑盒测试一个 SPA 应用,需要发现所有 API 端点

AI 操作流程:

1. 用户浏览器挂 Burp 代理正常使用网站
2. proxy_history → 获取所有请求
3. search_history → 正则提取 /api/ 开头的路径
4. 对每个端点:
   - send_request → 测试未授权访问
   - repeater_modify_send → 修改 HTTP 方法(GET→PUT/DELETE)
   - intruder_attack_wordlist → 参数模糊测试
5. 汇总所有发现

Prompt 示例:

分析 Burp 代理历史,提取所有 API 端点。
对每个端点测试:
1. 去掉认证 header 看是否能访问(未授权)
2. 换 HTTP 方法(GET→POST→PUT→DELETE)
3. 添加 admin=true / role=admin 参数
报告所有异常响应。

案例 4:SSRF 漏洞检测(配合 Collaborator)

场景:目标有 URL 参数(如头像上传、webhook 配置),怀疑 SSRF

AI 操作流程:

1. collaborator_generate → 生成 5 个 OOB payload
2. search_history → 找到包含 URL 参数的请求
3. repeater_modify_send → 将 URL 参数替换为 Collaborator payload
4. 等待 10 秒
5. collaborator_poll → 检查是否有 DNS/HTTP 回连
6. 有回连 = SSRF 确认

Prompt 示例:

生成 Collaborator payload。
找到代理历史中所有包含 url=、redirect=、callback=、webhook= 参数的请求。
逐个替换为 Collaborator payload 并发送。
10 秒后检查是否有回连。

案例 5:SQL 注入检测

场景:目标有搜索/过滤功能,怀疑 SQL 注入

AI 操作流程:

1. search_history → 找到带参数的 GET/POST 请求
2. intruder_attack_wordlist → 用 SQLi payload 列表测试
   wordlist: ["'", "' OR '1'='1", "1 UNION SELECT NULL--", "' AND SLEEP(5)--"]
3. 对比响应长度和时间
4. 时间盲注:intruder_with_options → record_time=true
5. 响应时间 >5s 的 = 可能存在时间盲注

Prompt 示例:

找到代理历史中所有带查询参数的请求。
对每个参数用以下 payload 测试 SQL 注入:
- 单引号报错
- OR 1=1 布尔盲注
- SLEEP(5) 时间盲注
- UNION SELECT 联合查询
记录响应时间,超过 5 秒的标记为疑似时间盲注。

案例 6:XSS 漏洞检测与验证

场景:目标有用户输入点(搜索框、评论、个人资料),测试 XSS

AI 操作流程:

1. search_history → 找到所有 POST 请求(表单提交)
2. intruder_attack_wordlist → 用 XSS payload 列表
   wordlist: ["<script>alert(1)</script>", "<img src=x onerror=alert(1)>", "{{7*7}}"]
3. extract_from_response → 检查 payload 是否在响应中原样反射
4. 如果反射 → 确认反射型 XSS
5. 再次访问页面检查是否持久化 → 存储型 XSS

案例 7:认证绕过测试

场景:目标有管理后台,测试认证是否可绕过

AI 操作流程:

1. proxy_history → 找到管理端 API 请求
2. repeater_modify_send → 去掉 Cookie/Token header 重发
3. repeater_modify_send → 用普通用户 token 替换管理员 token
4. repeater_modify_send → 添加 X-Forwarded-For: 127.0.0.1
5. convert_request → 改 HTTP 方法绕过
6. 对比响应:如果返回 200 而非 401/403 → 认证绕过

Prompt 示例:

找到代理历史中所有返回 403 的管理端请求。
对每个请求尝试以下绕过:
1. 去掉认证 header
2. 添加 X-Forwarded-For: 127.0.0.1
3. 添加 X-Original-URL 或 X-Rewrite-URL
4. 改 HTTP 方法(GET→POST, POST→PUT)
5. 路径大小写变换(/Admin → /admin → /ADMIN)
6. 路径添加 ..;/ 或 %2e%2e/
报告所有返回非 403 的尝试。

案例 8:文件上传漏洞测试

场景:目标有文件上传功能,测试是否可上传 WebShell

AI 操作流程:

1. search_history → 找到文件上传请求(multipart/form-data)
2. proxy_detail → 获取原始上传请求
3. repeater_modify_send → 修改文件名和 Content-Type:
   - test.php / test.jsp / test.aspx
   - Content-Type: image/png(绕过 MIME 检查)
   - 双扩展名:test.php.jpg
   - 空字节:test.php%00.jpg
4. 检查响应中是否返回上传路径
5. send_request → 访问上传路径验证是否执行

案例 9:Mass Assignment 自动检测

场景:目标使用 REST API,测试是否存在批量赋值漏洞

AI 操作流程:

1. search_history → 找到所有 PUT/PATCH 请求
2. proxy_detail → 获取请求 body 结构
3. repeater_modify_send → 在 body 中添加额外字段:
   - "role": "admin"
   - "isAdmin": true
   - "price": 0
   - "verified": true
4. send_request → GET 用户信息验证字段是否被修改

Prompt 示例:

找到代理历史中所有 PUT/PATCH 请求。
对每个请求的 JSON body 添加以下字段后重发:
- role: admin
- isAdmin: true
- status: active
- balance: 99999
然后 GET 对应资源检查字段是否被修改。

案例 10:验证码/OTP 暴力破解

场景:目标有验证码验证接口,测试是否有速率限制

AI 操作流程:

1. search_history → 找到验证码验证请求
2. intruder_attack_async → 多线程枚举
   - url_template: https://target.com/api/verify?code=@@
   - from: 0, to: 999999, pad_digits: 6
   - threads: 50
   - success_length_not: <失败响应长度>
3. 如果没有被限速 → 漏洞确认
4. 如果命中 → 获取有效验证码

案例 11:CORS 配置错误利用

场景:测试目标的 CORS 配置是否允许任意来源

AI 操作流程:

1. proxy_detail → 获取一个认证后的 API 请求
2. repeater_modify_send → 添加 Origin: https://evil.com
3. extract_from_response → 检查 Access-Control-Allow-Origin
4. 如果返回 evil.com 或 * → CORS 配置错误
5. generate_csrf_poc → 生成利用 PoC

案例 12:完整渗透测试自动化流程

场景:对一个新目标做完整的 Web 渗透测试

AI 完整操作流程:

Phase 1: 信息收集
1. add_to_scope → 添加目标
2. crawl → 爬取站点
3. proxy_history → 获取所有发现的页面
4. target_info → 识别技术栈
5. search_history → 提取所有 API 端点

Phase 2: 漏洞扫描
6. scan_active → 对关键请求做主动扫描
7. scan_results → 获取自动发现的漏洞
8. 对每个端点做手动测试(SQLi/XSS/IDOR/SSRF)

Phase 3: 漏洞利用
9. intruder_attack → 对确认的漏洞做深度利用
10. collaborator_generate + collaborator_poll → OOB 验证
11. repeater_modify_send → 手动验证和 PoC 构造

Phase 4: 报告
12. scan_results + proxy_history → 汇总所有发现
13. export_request → 导出关键请求为 curl 命令
14. generate_csrf_poc → 生成 PoC
15. AI 生成完整渗透测试报告

与其他 Skill 的联动场景

JS 逆向 + Burp MCP

场景:前端 JS 加密了请求参数
1. js-reverse skill → 分析加密逻辑,提取密钥
2. register_http_handler → 注册自动解密/加密规则
3. 之后所有经过 Burp 的请求自动被处理
4. Intruder/Repeater 可以直接操作明文参数

APK 逆向 + Burp MCP

场景:Android APP 的 API 需要签名
1. apk-reverse skill → 逆向签名算法
2. register_http_handler → 注册自动签名规则
3. 所有请求自动带正确签名
4. 可以自由修改参数做测试

浏览器自动化 + Burp MCP

场景:需要自动化浏览网站同时分析流量
1. browser-automation skill → Playwright 自动浏览
2. 浏览器设置 Burp 代理
3. 自动化完成后 → proxy_history 获取所有流量
4. AI 分析所有请求找漏洞

IDA 逆向 + Burp MCP

场景:分析一个 Web 应用的后端二进制
1. 通过 Burp 抓到 API 请求格式
2. ida-reverse skill → 逆向后端处理逻辑
3. 发现内存溢出/逻辑漏洞
4. 回到 Burp → 构造利用 payload

用户未安装 BurpSuite 时的引导

当 AI 检测到 http://127.0.0.1:9876/health 无响应时,输出以下引导:

⚠️ **BurpSuite MCP 服务不可用**

**下载安装 BurpSuite**:
- 官方:https://portswigger.net/burp/releases
- Linux / Kali:`sudo apt install burpsuite` 或官方 .jar
- macOS:官方 .dmg
- **禁止**引导破解包 / 汉化一键启动版

**安装步骤(Windows)**:
1. 从 PortSwigger 安装 Professional 或 Community
2. 用官方启动器启动

**安装步骤(Linux/Kali)**:
1. `java -jar burpsuite_pro.jar` 启动
2. 或使用 Kali 预装版:Applications → Web Application Analysis → Burp Suite

**加载 MCP 扩展**:
1. 编译(仅首次):
   - Windows: 双击 `<SKILL_ROOT>\burp-mcp-full\build.bat`
   - Linux/macOS: `cd <SKILL_ROOT>/burp-mcp-full && chmod +x build.sh && ./build.sh`
2. 打开 Burp → Extensions → Installed → Add
3. Extension Type: Java
4. Select file: `<SKILL_ROOT>/burp-mcp-full/build/libs/burp-mcp-full.jar`
5. 看到 `[MCP] Server started on http://127.0.0.1:9876` 即成功

**配置 MCP 客户端**:
在你的 AI 客户端 MCP 配置中添加:
```json
{
  "mcpServers": {
    "burpsuite": {
      "command": "node",
      "args": ["<SKILL_ROOT>/burp-mcp-full/mcp-bridge.js"]
    }
  }
}

将 <SKILL_ROOT> 替换为本包实际路径。Windows 用 \\,Linux/macOS 用 /。

验证:

curl http://127.0.0.1:9876/health
# 应返回 {"status":"ok","version":"2.0.0","tools":[...]}

安装完成后告诉我,我继续当前任务。


---

## 常见问题

### Q: 端口 9876 被占用怎么办?
修改 `BurpMcpExtension.java` 中的端口号,重新编译。或关闭占用端口的程序。

### Q: 扩展加载失败?
确认 Burp 使用的 Java 版本 ≥ 21。本扩展用 JDK 21 编译。

### Q: 响应是加密的怎么办?
用 `extract_from_response` + 外部解密脚本处理。或在 `register_http_handler` 中注册自动解密规则。

### Q: Intruder 攻击太慢?
使用 `intruder_attack_async` 并设置 `threads: 100+`。注意不要打崩目标。

### Q: 如何配合代理池使用?
调用 `set_upstream_proxy` 设置上游代理为 ProxyCat 的端口,实现 IP 轮换。