# 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：使用本项目自带扩展（推荐，63 个工具全覆盖）**

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 是否可预测
```

## 完整工具列表（63 个）

### 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_listeners` | — | 监听器信息 |
| `proxy_match_replace` | — | 匹配替换规则管理 |
| `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` | — | 扩展信息 |
| `export_cert` | — | CA 证书导出指引 |
| `websocket_send` | — | WebSocket 发送指引 |
| `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 轮换。
