使用说明
项目简介
BurpMCP 是一款 Burp Suite 扩展,它作为一个 Model Context Protocol (MCP) 服务器,桥接了 Burp Suite 和 AI 大语言模型 (LLM)。通过 BurpMCP,安全测试人员可以利用 LLM 的强大能力来辅助 Web 应用安全测试,例如分析复杂的攻击面和追踪漏洞。BurpMCP 专注于增强手动测试流程,为 LLM 提供必要的上下文信息和执行外部功能的能力。
主要功能点
- 资源管理:允许用户将 Burp Suite 中捕获的 HTTP 请求保存为资源,并提供工具供 LLM 按 ID 检索这些请求,作为上下文信息使用。
- 工具注册与执行:
- 提供了 'http1-send' 和 'http2-send' 工具,允许 LLM 调用 Burp Suite 的 HTTP 客户端发送 HTTP/1.1 和 HTTP/2 请求。
- 提供了 'get-saved-request' 工具,允许 LLM 根据 ID 检索之前保存的 HTTP 请求及其响应内容。
- 提供了 'update-note' 工具,允许 LLM 更新已保存请求的备注信息。
- 提供了 'save-http1-request' 和 'save-http2-request' 工具,允许 LLM 将构建的 HTTP 请求保存到 BurpMCP 的已保存请求列表中。
- 交互界面:BurpMCP 扩展在 Burp Suite 中提供了一个用户界面,用于管理 MCP 服务器、查看已保存的请求、查看发送的请求日志以及服务器日志。
- 持久化存储:支持保存已保存的请求、发送的请求日志和服务器配置,以便在 Burp Suite 重启后恢复状态。
- 支持 HTTP/1.1 和 HTTP/2:工具支持发送和处理 HTTP/1.1 和 HTTP/2 协议的请求。
- SSE 传输协议:默认使用 Server-Sent Events (SSE) 作为 MCP 服务器的传输协议。
安装步骤
- 下载 BurpMCP 扩展:
- 访问 BurpMCP 的 GitHub Releases 页面,下载最新的 'burpmcp.jar' 文件。
- 加载到 Burp Suite:
- 启动 Burp Suite。
- 在 Burp Suite 界面中,导航到 "Extensions"(扩展) -> "BApp Store"。
- 点击右上角的 "Load BApp"(加载 BApp)按钮。
- 在文件选择对话框中,选择您下载的 'burpmcp.jar' 文件,点击 "Open"(打开)。
服务器配置
BurpMCP 服务器默认监听 'localhost:8181',并使用 SSE 协议。您需要在 MCP 客户端中配置连接到 BurpMCP 服务器。以下是一些 MCP 客户端的配置示例:
Dive 客户端配置示例 (JSON 格式)
{ "mcpServers": { "BurpMCP": { "transport": "sse", "url": "http://localhost:8181/mcp/sse" } } }
- 'server name': 您可以自定义服务器名称,例如 "BurpMCP"。
- 'transport': 必须设置为 "sse",表示使用 Server-Sent Events 协议。
- 'url': BurpMCP 服务器的 SSE 端点 URL,默认为 'http://localhost:8181/mcp/sse'。您可以在 BurpMCP 扩展的设置中修改主机和端口。
Claude Desktop 客户端配置示例 (JSON 格式)
{ "mcpServers": { "BurpMCP": { "command": "python3", "args": ["path/to/stdio-bridge.py", "http://localhost:8181/mcp/sse"], "env": {} } } }
- 'server name': 您可以自定义服务器名称,例如 "BurpMCP"。
- 'command': 设置为 "python3",表示使用 Python 3 运行桥接脚本。
- 'args': 一个字符串数组,包含桥接脚本的路径和 BurpMCP 服务器的 SSE 端点 URL。请将 '"path/to/stdio-bridge.py"' 替换为实际的 'stdio-bridge.py' 脚本路径。
- 'env': 一个空的环境变量字典。
stdio-bridge.py 脚本安装 (Claude Desktop 客户端需要)
- 安装依赖: 确保已安装 'typer' 和 'mcp' Python 库。如果未安装,请运行命令:
pip3 install typer mcp - 下载 'stdio-bridge.py': 从 BurpMCP 仓库下载 'stdio-bridge.py' 脚本,并将其保存到您本地的某个路径。
- 配置 Claude Desktop: 根据上面的 Claude Desktop 客户端配置示例,配置 'claude_desktop_config.json' 文件,确保 'args' 数组中的脚本路径正确。
基本使用方法
- 启动 BurpMCP 服务器:
- 在 Burp Suite 中,找到 "BurpMCP" 选项卡。
- 在 "BurpMCP" 选项卡中,您可以看到服务器控制面板。默认情况下,MCP 服务器是禁用的。
- 点击 "MCP Server: Disabled" 切换按钮,启用 BurpMCP 服务器。首次启用时,可能需要配置主机和端口。
- 保存 HTTP 请求到 BurpMCP:
- 在 Burp Suite 中,选择您想要保存的 HTTP 请求(例如,在 "Proxy history" 或 "Target" 中)。
- 右键单击选定的请求,选择 "Extensions" -> "Send to BurpMCP"。
- 保存的请求将出现在 "Saved Requests" 选项卡中。您可以在 "Notes" 列中为请求添加备注信息。
- 在 MCP 客户端中使用 BurpMCP 工具:
- 配置并连接您的 MCP 客户端(例如 Dive 或 Claude Desktop)到 BurpMCP 服务器。
- 在 MCP 客户端中,您可以指示 LLM 使用以下工具与 BurpMCP 交互:
- 'get-saved-request': 使用请求 ID 检索已保存的 HTTP 请求及其响应和备注。
- 'http1-send': 发送 HTTP/1.1 请求。需要提供请求数据、目标主机、端口和安全协议类型。
- 'http2-send': 发送 HTTP/2 请求。需要提供请求体、Authority 头、其他头部、方法、路径、目标主机、端口和安全协议类型。
- 'update-note': 更新已保存请求的备注信息,需要提供请求 ID 和新的备注内容。
- 'save-http1-request' 和 'save-http2-request': 保存 LLM 构建的 HTTP 请求到 BurpMCP 的已保存请求列表。
- 查看日志:
- 您可以在 "Request Logs" 选项卡中查看 LLM 通过 BurpMCP 发送的 HTTP 请求的记录。
- 您可以在 "Server Logs" 选项卡中查看 BurpMCP 服务器的日志信息,包括 MCP 消息的发送和接收记录。
通过以上步骤,您可以使用 BurpMCP 将 AI 大语言模型集成到 Burp Suite 工作流中,提升 Web 安全测试效率和深度。
信息
分类
开发者工具