在渗透测试过程中,我遇到了一个奇怪的SQL注入点。无论是if(1=1)还是if(1=2),执行后都会触发延时,这让我无法进行正常的条件判断。


尝试使用case when、exp等函数时,发现它们也被过滤了。这个网站有黑名单机制,耗了大量时间也找不到能证明危害的方法。就连sqlmap跑了一圈也没结果。

既然传统工具搞不定,那就试试新玩法:用MCP(Model Context Protocol)把Burp Suite和Claude Code联动起来。让AI来帮我分析。
下面是我整理出来的配置教程,步骤清晰,照着做就能打通两边。
Burp Suite 与 Claude Code MCP 联动配置教程
本文详细介绍 Burp Suite 与 Claude Code MCP 联动的完整配置流程,包含环境准备、两端配置、联动验证及故障排查,步骤清晰、操作简单,新手可快速上手完成配置。
一、前置准备(统一操作步骤)
1. 安装必备软件
Burp Suite:安装专业版或社区版(推荐 2024.6 及以上版本),确保软件可正常启动。
Python 环境:安装 Python 3.9~3.12 版本(避免 3.14 及以上版本的兼容问题),安装时务必勾选「Add Python to PATH」。
Claude Code:确保已安装并可正常启动(终端输入 claude 可进入 Claude 终端)。
2. 安装 mcp-proxy 工具
打开 CMD 终端,执行以下命令安装核心依赖:
pip install mcp-proxy
安装完成后,执行 where mcp-proxy 查看安装路径(默认路径格式:C:\Users\用户名\AppData\Local\Programs\Python\Python3xx\Scripts\mcp-proxy.exe),记录该路径备用。
二、Burp Suite 端配置(关键步骤)
打开 Burp Suite,进入「扩展」→「BApp Store」,搜索「MCP Server」扩展,点击「安装」。
安装完成后,切换到「扩展」→「已安装」,找到「MCP Server」扩展,确认其状态为「已加载」。
点击 Burp 顶部菜单栏新增的「MCP」标签页,进行如下设置:
勾选「Enabled」,启用 MCP 服务器;
监听地址默认为 http://127.0.0.1:9876(若端口被占用,可修改为其他端口,如 9877,记录修改后的端口备用);
确认「Server status」显示为「Running」(运行中),即完成 Burp 端配置。
三、Claude Code 端配置(核心步骤)
1. 找到配置文件
Claude 的 MCP 配置文件路径为:C:\Users\用户名\.claude.json(若该文件不存在,新建文本文件并将其重命名为 .claude.json 即可)。
2. 写入标准配置
将以下内容复制到 .claude.json 中,替换「用户名」为实际电脑用户名,替换 mcp-proxy 路径为前文记录的实际安装路径:
{
"mcpServers": {
"burp": {
"type": "stdio",
"command": "C:\\Users\\用户名\\AppData\\Local\\Programs\\Python\\Python312\\Scripts\\mcp-proxy.exe",
"args": [
"--transport",
"sse",
"http://127.0.0.1:9876"
],
"disabled": false
}
}
}
3. 配置说明
command:替换为实际的 mcp-proxy.exe 完整路径;
args 中的 URL:需与 Burp 中 MCP 监听地址保持一致(若 Burp 修改了端口,此处同步修改);
无需额外添加 env 或 --named-server 参数,避免导致启动失败。
4. 验证配置文件格式
打开 CMD 终端,执行以下命令检查 JSON 格式是否正确(无报错即格式正常):
python -m json.tool C:\Users\用户名\.claude.json
四、启动联动并验证
完全关闭 Claude Code:退出当前所有 Claude 终端,重新打开 CMD 终端。
启动 Claude Code:在新终端中输入 claude 并回车,进入 Claude 终端。
检查 MCP 配置:输入 /mcp 并回车,查看配置列表:
若 burp 显示 √ connected,说明联动配置成功;
若显示 × failed,可参考下方故障排查步骤处理。
五、常见故障排查
1. Burp MCP 未运行
检查 Burp 的 MCP 标签页是否勾选「Enabled」;
重启 Burp 后,重新启用 MCP 扩展;
端口被占用:修改 Burp 监听端口,同步修改 .claude.json 中的 URL 端口。
2. mcp-proxy 启动失败
重新安装依赖:执行 pip uninstall mcp-proxy && pip install mcp-proxy;
检查路径:确认 command 中的 mcp-proxy.exe 路径正确,可直接在 CMD 中输入该路径,测试是否能正常启动。
3. Claude 显示 burp 连接失败
关闭所有 Claude 终端,重新启动后再次尝试;
检查 .claude.json 格式,确保无多余逗号、引号等语法错误;
查看详细日志:终端输入 claude --debug,搜索 burp 相关报错(如路径错误、端口拒绝),针对性修改。
4. Python 版本兼容问题
若使用 Python 3.14 及以上版本出现异常,卸载当前版本后,安装 Python 3.12 版本,重新安装 mcp-proxy 即可。
六、最终验证步骤
Burp MCP 状态:显示 Running ✅
mcp-proxy 手动运行:输入 mcp-proxy.exe --transport sse http://127.0.0.1:9876,无报错 ✅
Claude Code 终端输入 /mcp:burp 显示 connected ✅
完成以上所有步骤,Burp Suite 与 Claude Code 即可正常联动。
配置好之后,连接状态显示成功。

数据包也能正常读取了,这说明通信链路没问题。

接下来,就让Claude Code试试刚才那个棘手的SQL注入点,看看它能不能结合自己的技能找到突破口。

AI给出了几个选项,看来它理解了我的意图。

我选择让它开始注入测试。它很快发现了关键:通过排序差异来判断注入是否生效。

接着,它并行测试数据库名的字符,一步步猜解。

最终成功跑出了数据库名!原来症结在于 = 被过滤了,所以之前的 1=1 和 1=2 都恒为真,导致了奇怪的延时现象。

这个网站还存在Swagger接口泄露的问题。我让AI基于Burp的历史数据包去构造参数,访问这些接口,看看能发现什么。

效果不错,它很快确认了一个未授权访问漏洞,可以枚举敏感信息。

通过这次实践,可以看到将Burp Suite与Claude Code via MCP联动,能显著提升安全测试的效率和深度。AI不仅能理解复杂场景,还能自动化执行测试步骤,帮助渗透测试人员绕过一些棘手的过滤机制。如果你也对自动化安全测试感兴趣,可以到 云栈社区 探索更多相关工具和讨论。
|