mcpField
B
BurpMCP

BurpMCP

远程服务
github.com/swgee开发工具5740 周前更新
代码仓库

关于 BurpMCP

BurpMCP 是一个 Burp Suite 扩展,内置 MCP 服务,让 MCP 客户端可以读取 Burp 中保存的请求并发送新的 HTTP 请求。面向手动应用安全测试、漏洞研究和漏洞赏金猎人,测试者可以全程查看并控制模型的操作。

主要功能

  1. 01保存请求供 MCP 客户端检索
  2. 02发送 HTTP/1.1 与 HTTP/2 请求并查看日志
  3. 03通过正则替换重新发送已保存的请求
  4. 04生成 Collaborator 载荷并获取交互记录
  5. 05在服务日志标签页查看全部 MCP 消息

适用场景

  1. 01让模型分析 Burp 中保存的请求并提出后续测试
  2. 02使用正则替换快速调整并重发请求
  3. 03借助 Collaborator 载荷进行带外测试

MCP 相关

BurpMCP 本身是 MCP 服务,通过 SSE 或 stdio 桥接向 Claude Desktop、Cline、Cursor 等 MCP 客户端提供保存请求检索、请求发送和 Collaborator 等工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://localhost:8181/mcp/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

BurpMCP

Ask DeepWiki

BurpMCP 徽标

BurpMCP 是一款 Burp Suite 扩展,可借助现代 AI 为应用安全测试人员、漏洞研究人员和漏洞赏金猎人提供助力。大模型每天都在扩展上下文窗口、加快响应速度,并提升知识和推理能力。BurpMCP 让你在测试基于 HTTP 的应用时充分利用这些能力,提供一位超级智能的得力助手,帮你探索陌生的攻击面并追踪复杂漏洞。

BurpMCP 专注于借助大模型增强手动应用安全测试,通过将 Burp Suite 与 Claude Desktop、Cursor 等 Model Context Protocol(MCP)客户端集成,让你能够提示 AI 代你执行自主测试,同时全面掌控并查看模型的操作。

功能:

  • :notebook: 在扩展中保存请求,供 MCP 客户端使用 Get-Saved-Request 工具获取
  • :hammer: 发送新的 HTTP/1.1 和 HTTP/2 请求,并在 Request Logs 选项卡中查看
  • :pencil2: 使用正则表达式字符串替换重发已保存的请求,从而更快地调整请求(类似面向大模型的 Repeater)
  • :satellite: 生成 Collaborator 载荷并获取交互记录,以便大模型主导带外测试
  • :microscope: 在 Server logs 选项卡中查看所有 MCP 消息,方便调试

该扩展会启动一个直接与 Burp Suite 扩展 API 交互的 MCP 服务。如需了解 Model Context Protocol 的更多信息,请参阅文档。

安装

从 releases 下载 jar 文件,然后将其加载到 Burp 中即可安装。

MCP 服务默认通过 SSE 在 localhost 的 8181 端口运行。配置语法因 MCP 客户端而异,以下是一些示例:

Cline:

{
  "mcpServers": {
    "burpmcp": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 30,
      "url": "http://localhost:8181/mcp/sse",
      "transportType": "sse"
    }
  }
}

Dive:

{
  "mcpServers": {
    "BurpMCP": {
      "transport": "sse",
      "url": "http://localhost:8181/mcp/sse"
    }
  }
}

若要将 BurpMCP 与仅支持 STDIO 的客户端(例如 Claude Desktop)搭配使用,请下载 stdio-bridge.py 脚本并安装所需依赖:

pip3 install typer mcp

然后,将以下配置添加到 claude_desktop_config.json。请确保主机和端口与 BurpMCP 中的配置一致。

{
  "mcpServers": {
    "BurpMCP": {
      "command": "python3",
      "args": ["path/to/stdio-bridge.py", "http://localhost:8181/mcp/sse"],
      "env": {}
    }
  }
}

使用方法

若要向 BurpMCP 发送请求,请右键点击任意请求,然后点击 `Extensions -> Send to BurpMCP"。

向 BurpMCP 发送请求

随后,该请求会显示在 BurpMCP 的 “Saved Requests” 选项卡中。每个已保存的请求都包含一个 Notes 列,可为大模型提供额外上下文。客户端也可以更新每个已保存请求的备注,以记录重要细节,或保存请求供日后分析。

已保存请求选项卡

使用你偏好的 MCP 客户端,你可以提示模型获取已保存的请求并发送后续请求,以协助测试。

获取已保存的请求

Claude 尝试解决实验:

Claude 尝试解决实验

示例

查看 Showcase,了解 BurpMCP 成功使用的聊天记录示例。

感谢以下用户提供示例:

常见问题

  • 模型有时会忘记在请求中添加重要组件,例如 Content-Length 标头或 URL 编码。这并非扩展的问题,而是模型自身的失误。
  • HTTP/2 工具参数规定,HTTP/2 请求中不得包含被禁止的标头,但模型有时可能会忽略这一点。如果 HTTP/2 请求失败,请检查请求中是否包含无效标头。
  • 一些 MCP 客户端似乎无法发送 CRLF("\r\n")。符合规范的 HTTP/1.1 请求必须使用 CRLF 行结束符。为解决此问题,可以启用自动将 LF 替换为 CRLF 的功能。
  • 一些 MCP 客户端在较长时间后仍不会确认错误响应,并会继续无限生成。在服务端添加自定义超时无法解决此问题。目前,最佳解决方案是使用支持超时的客户端,例如 Cline。

局限性

  • 启用将 LF 替换为 CRLF 后,测试 HTTP/1.1 请求走私会很困难,因为 Content-Length 标头会自动更新,以反映新增的字符。
  • 通过 HTTP/2 重新发送请求时,标头会用换行符连接,并在发送请求前重新拆分。此外,Cookie 会拆分为单独的标头。如果需要手动将换行符注入标头值,这会让各种 HTTP/2 协议漏洞测试(例如请求走私)变得困难。

工具定义

工具规范位于 src/main/java/burpmcp/tools,其中准确说明了 MCP 服务期望客户端提供哪些数据。了解这些信息十分重要,这样你才能知道模型发送了什么。根据使用场景,你可以修改属性说明,但这需要重新构建扩展。

从源代码构建

git clone https://github.com/swgee/burpmcp.git
cd burpmcp
mvn clean package

参与贡献

如有任何错误、功能请求或疑问,请创建一个 issue。如果你想参与贡献,请提交 PR。如果你曾使用此工具发现漏洞或其他有趣内容,请发送截图或聊天记录,我很乐意将其加入 Showcase。感谢使用 BurpMCP,祝你编码愉快!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。