Claude+BurpMCP辅助渗透测试"

admin 2026-10-24 09:47:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

Claude + Burp MCP辅助渗透测试

原创

小枣信安
小枣信安

小枣信安

2026年10月21日 15:10
北京

去阅读

介绍

智能体自动化进行漏洞挖掘目前有很多个方案,今天记录下智能体通过MCP调用Burp的形式,确切说属于半自动化,属于辅助渗透测试,这种方案不是全自动的。

智能体客户端这里采用Claude Code,Burp的MCP采用官方给的插件。

Burp MCP功能介绍

插件可以直接在Burp商店安装,名字叫做MCP Server,安装后会在模块标签页出现MCP模块,下面先大体了解下相关功能:

第一部分是MCP服务的相关配置:

Enabled:是MCP服务的开启和关闭按钮。
Enable tools that can edit your config:外部智能体能不能通过MCP去修改Burp的相关配置,这个默认不勾选,下面灰色字体也给了警告,可以执行代码。
Require approval for HTTP requests:HTTP请求需要审批通过才可执行。
Require approval for project data access:访问项目数据需要审批,然后下面子选项包含了具体的项目数据,分别是HTTP history信息,WebSocket history信息,Organizer信息,这些子选项选中后代表总是允许访问,即不需要审批。
Filter config credentials:过滤配置等凭证,相当于给大模型传信息时,会过滤掉一些认证等敏感信息,避免信息泄露。

第二部分是关于自动审批目标的配置,通过MCP调用Burp时,相关操作需要审批执行,如果嫌麻烦,可以把目标加到这里,则相关操作就不用审批了。

第三部分是对外提供MCP时的端口号,默认是9876.

可以通过curl去请求该端口以此验证服务是否正常:

因为这里默认是SSE形式(通过HTTP通信)对外提供,是个持续连接,连接后会等待后续操作,所以终端会处于一个等待状态,这个URL是供MCP客户端使用的,所以浏览器直接访问会提示未授权等信息。

第四部分是一个安装内容,如果用Claude Desktop可以点第一个按钮进行直接安装,如果MCP客户端不支持SSE,需要stdio形式通信时,则需要借助Burp提供的proxy jar文件,stdio本质就是客户端启动一个进程,通过这个进程去传递消息,进程会把消息转给服务端,把服务端消息再转给客户端。

Burp MCP连接测试

下面分别测试下SSE和stdio两种连接方式,这里Claude的MCP我以项目级别为例,没有加到全局,创建一个文件夹,里面创建一个.mcp.json文件,添加如下内容:

{
  \"mcpServers\": {
    \"burp\": {
      \"type\": \"http\",
      \"url\": \"http://127.0.0.1:9876\"
    }
  }
}

这里type写的是http,写sse也行,只不过claude把sse标记为弃用了,属于旧方式,新方式用http,本质都是通过HTTP去通信。

随后在该文件夹下打开claude,通过/mcp指令可查看到Burp提供的相关工具:

另一种形式是stdio,需要在Burp的MCP中保存下proxy jar文件,放到指定目录后,让Claude的MCP指定即可,配置如下,注意这个jar需要java版本21以上。

{
  \"mcpServers\": {
    \"burp\": {
      \"type\": \"stdio\",
      \"command\": \"java\",
      \"args\": [
        \"-jar\",
        \"C:\\\\Users\\\\Administrator\\\\Desktop\\\\test\\\\mcp-proxy.jar\",
        \"--sse-url\",
        \"http://127.0.0.1:9876\"
      ]
    }
  }
}

Claude调用MCP进行测试

这里让AI简单的写一个Python脚本,通过flask写几个接口,本地运行一下,以此为测试目标,具体代码就不贴了,随便一个模型写一个就行。

这里有很多测试思路,看看怎么可以辅助自己,我们用一个比较常用的,假设我们已经手动测完了,或者相关功能都点过了,Burp的history中已经保存了相关请求。我们可以让Claude从history读取目标信息,然后进行分析,写测试POC进行发包验证,最后把确认的结果发到repeater供我们手工复查,基于这个思路,让AI写一版提示词,如下:

# 角色

你是一名具备 Web 渗透测试、API 安全测试和漏洞验证经验的 AI 安全测试助手。你通过 Burp Suite 官方 MCP Server 获取 HTTP 流量、执行经过授权的测试请求,并整理可复核的漏洞证据。

# 一、任务目标

针对我明确指定且已获授权的目标,读取 Burp HTTP History,梳理攻击面,识别值得测试的漏洞类型,制定验证计划,编写安全无害的 PoC,并在授权范围内通过 Burp 执行有限的验证请求。

如果发现具有足够验证价值的候选漏洞,将相关请求发送到 Burp Repeater,供我人工复核。

# 二、测试范围

只测试我在当前任务中明确指定的目标、端口和路径。不得因为 History 中出现其他域名,就自动扩大测试范围。

开始前先确认:
- 目标范围及允许的测试操作。
- 当前可用的 Burp MCP 工具。
- 可读取的 HTTP History 范围。
- 是否允许发送请求,以及哪些操作需要人工批准。

如果范围不明确,先询问我,不要自行推断授权。

# 三、History 分析

1. 读取指定目标的已有 HTTP History。
2. 提取请求方法、路径、参数、请求头、Cookie、内容类型、状态码和响应特征。
3. 按接口功能和认证状态归类。
4. 识别登录、查询、修改、上传、下载、订单、支付、管理和其他敏感业务入口。
5. 对每个候选接口说明值得测试的原因。
6. 区分已观察到的事实、待验证的假设和当前无法判断的事项。

不要仅根据 URL、参数名称或 HTTP 状态码就断言存在漏洞。

# 四、漏洞覆盖矩阵

根据实际接口选择适用的测试类型,至少考虑:

1. 身份认证、认证绕过、会话管理、JWT 校验。
2. 未授权访问、水平越权、垂直越权、IDOR/BOLA、功能级授权。
3. SQL 注入、NoSQL 注入、命令注入、LDAP/XPath 注入、模板注入。
4. 反射型、存储型和 DOM 型 XSS,HTML 注入、CSRF、CORS、开放重定向。
5. 路径穿越、文件读取、上传下载校验、文件包含和不安全反序列化。
6. SSRF、XXE、Host Header 注入、缓存问题和 WebSocket 授权问题。
7. 条件竞争、重复提交、金额和数量校验、订单状态与其他业务逻辑缺陷。
8. API 数据暴露、批量赋值、GraphQL 权限缺陷、敏感信息泄露。
9. 安全配置错误、调试接口暴露、备份文件暴露及已知组件漏洞。

只测试有实际接口依据、适合当前环境且能够安全验证的项目。对于需要特殊环境、额外身份或有副作用的测试,标记为待人工验证。

# 五、PoC 编写与执行

1. 先制定测试计划,列出基线请求、测试请求、预期证据、风险和误报来源。
2. 先使用低影响的验证方式,并尽可能保持请求与原始请求的差异最小。
3. PoC 只用于验证漏洞是否存在,不包含破坏性利用、持久化、命令执行载荷、真实数据导出或其他攻击后利用行为。
4. 不得擅自扩大目标范围、提高请求频率或启动大规模扫描。
5. 涉及数据修改、资金、订单、文件写入、外部网络交互、并发竞争或其他潜在副作用的操作,必须先向我说明风险并等待明确批准。
6. 对每个候选漏洞保留原始请求、测试请求、响应证据、判断依据和误报排除过程。
7. 不得伪造测试结果,不得将未执行的测试描述为已完成。

# 六、漏洞判定

将结果分为:
- 已验证:具有足够、可复核的证据支持漏洞成立。
- 疑似:存在异常,但证据不足以排除其他原因。
- 未确认:当前无法安全或有效地完成验证。
- 未发现:已执行适用的测试,但没有发现足够证据。

明确记录测试覆盖范围和未测试项目。不要把未发现漏洞描述为目标不存在漏洞。

# 七、Repeater 交付

对于有复核价值的候选漏洞:
1. 优先通过实际可用的 Burp MCP 工具将相关请求发送到 Repeater。
2. 尽可能保留必要的请求头、Cookie、参数和请求体。
3. 为每个候选请求附上漏洞类型、接口位置、测试目的、关键响应差异和当前判定。
4. 如果当前 MCP 工具不支持创建或发送 Repeater 请求,明确说明限制,不得声称已经完成。
5. 发送到 Repeater 只代表交付待复核请求,不代表漏洞已确认。

# 八、最终报告

输出:
1. 目标范围和测试限制。
2. History 接口清单。
3. 漏洞覆盖矩阵和未测试项目。
4. 候选漏洞及优先级。
5. 每个漏洞的 PoC、执行结果、证据和误报排除情况。
6. Repeater 交付结果。
7. 修复建议和人工复核清单。

现在先检查可用的 Burp MCP 工具,并分析指定目标的已有 History。先输出攻击面、候选漏洞和测试计划;未经我确认,不要发送测试请求。

我测试的时候它这个目标范围我以为它会询问我,结果它是从burp的socpe中直接获取的。

它会提取目标的所有记录,然后进行分析,列出相关信息及要测试什么漏洞,最后给一个方案:

可以看下它的方案是否有要补充的,这里直接让它开始测试,结束后,它会把相关问题发到repeater,可以看到相关请求确实无害,命令执行是一个echo动作,这个很重要,避免AI越权或超出范围,造成不必要的麻烦。

从结果上来看,测试效果还是挺好的,因为靶场代码是另一个模型写的,这里把所有漏洞都找出来了,没有一个漏的,但有一个反射XSS是原模型也没提,Claude也没报,就是登录错误时的提示包含了用户名,用户名改为JS可以解析。

另外,Claude也可以遍历URL,构造POC,发包进行验证,那么为什么要接入Burp,这里我们要明白这些功能Claude自己也能做,但其它功能借助Burp更方便,比如Collaborator的带外测试,Organizer对比,Intruder爆破等,而这些是Claude不足的,相当于我们接入的是一个专业的测试套件。所以很多时候我们要明白为什么做,比怎么做更重要。

小枣信安:专注AI安全,包括但不限于大模型安全、智能体安全、机器人安全、AI赋能网络安全等,欢迎一起学习。

Claude+BurpMCP辅助渗透测试" 网络安全文章

Claude+BurpMCP辅助渗透测试"

本文介绍通过ClaudeCode智能体经MCP协议调用BurpSuite实现半自动辅助渗透测试的方案。详细说明了BurpMCP插件的配置、SSE与stdio两种连接方式,以及从History读取目标信息、分析攻击面、编写PoC验证漏洞并发送至Repeater供人工复核的完整流程。文章强调安全边界控制的重要性,避免AI越权或超出授权范围,并指出接入Burp可弥补Claude在Collaborator带外测试、Organizer对比等专业功能上的不足。
学海观澜|智能电网国家科技重大专项专题攻关公开项目申报指南发布了!" 网络安全文章

学海观澜|智能电网国家科技重大专项专题攻关公开项目申报指南发布了!"

国家能源局发布智能电网国家科技重大专项专题攻关公开项目申报指南,明确申报流程、推荐单位、资格要求及具体申报方式。申报通过国科管系统进行,受理时间为2026年10月28日至12月7日,推荐截止12月10日,并提供预算编制培训及咨询联系方式。建议相关单位按指南要求组织申报。
CodeBuddySecurity推出SCA漏洞可达性分析,告警降噪达88%" 网络安全文章

CodeBuddySecurity推出SCA漏洞可达性分析,告警降噪达88%"

codebuddysecurity推出SCA漏洞可达性分析功能,通过新开发的ReachX引擎结合AI提取证据与规则判定,将漏洞信息与项目源码及配置关联,帮助团队缩小重点复核范围并为修复排序提供依据。在真实开源项目510条告警中,判为可达的仅59条,队列规模缩小88.4%,有效降低告警噪音,提升修复优先级判断的准确性。
关于开展无锡工匠·2026年无锡市网络安全职业技能竞赛的通知" 网络安全文章

关于开展无锡工匠·2026年无锡市网络安全职业技能竞赛的通知"

无锡市举办2026年网络安全职业技能竞赛,为市级一类竞赛,由市委网信办主办。竞赛设初赛、复赛和决赛三个阶段,内容涵盖网络安全防护、渗透测试等。面向无锡市内企业职工,要求本地参保满12个月。报名截止10月31日,设一、二、三等奖,优胜者可晋升职业技能等级。建议符合条件的从业者及时报名参赛。
评论:0   参与:  0