reverse-skills-max: initial public release (restored, redacted, hardened)

This commit is contained in:
baradok609hecl1pq6qi
2026-10-20 02:17:15 +03:00
commit da24c2bd20
2227 changed files with 443931 additions and 0 deletions

View File

@@ -0,0 +1,769 @@
# 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 自动生成渗透测试报告
## 安装
### 前置条件
- BurpSuite Professional(社区版功能受限)
- 下载地址:https://www.52pojie.cn/thread-2005151-1-1.html (汉化一键启动版)
### 安装 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 配置(已自动写入用户级别)
```json
{
"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**:
```json
{ "command": "node", "args": ["<SKILL_ROOT>\\burp-mcp-full\\mcp-bridge.js"] }
```
**Linux / Kali / macOS**:
```json
{ "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 报告命中结果
```
**示例调用**:
```json
{
"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` 无响应时,输出以下引导:
```markdown
⚠️ **BurpSuite MCP 服务不可用**
**下载安装 BurpSuite Pro**:
- Windows(汉化一键启动版):https://www.52pojie.cn/thread-2005151-1-1.html
- Linux / Kali:`sudo apt install burpsuite` 或从 https://portswigger.net/burp/releases 下载 .jar
- macOS:从 https://portswigger.net/burp/releases 下载 .dmg
**安装步骤(Windows)**:
1. 下载解压到任意目录(路径不要有中文)
2. 双击 `Burp Suite_CN.bat` 启动
3. 按提示完成激活
**安装步骤(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 用 `/`。
**验证**:
```bash
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 轮换。