Burp Suite MCP服务器DNS重绑定SSRF漏洞分析:通过send_http1_request工具实现内网访问

本文详细分析了Burp Suite MCP服务器存在的DNS重绑定SSRF漏洞,攻击者可通过恶意网页利用send_http1_request工具访问内部网络,获取敏感数据。漏洞涉及缺乏源验证和CORS保护,已在新版本中修复。

DNS重绑定SSRF在Burp Suite MCP服务器中通过send_http1_request工具实现内部网络访问

漏洞概述

Burp Suite MCP(模型上下文协议)服务器在端口9876上缺乏适当的源验证和CORS保护,使得攻击者能够通过DNS重绑定攻击绕过同源策略。

攻击前提条件

攻击者需要诱骗已安装并启用MCP服务器的Burp Suite用户访问恶意链接。攻击者需要在该链接域上托管恶意网页。

攻击步骤

第一步:设置DNS重绑定

使用控制的域名设置DNS服务器,首次DNS查询返回攻击者控制的服务器IP(例如192.168.80.154),后续所有DNS查询返回127.0.0.1。可使用https://github.com/mogwailabs/DNSrebinder工具:

1
python3 dnsrebinder.py --domain rebind.mydomain.eu. --rebind 127.0.0.1 --ip 192.168.1.3 --counter 1 --udp

第二步:设置恶意页面服务器

在攻击者IP上托管恶意网页的Web服务器:

1
python3 -m http.server 8080

具体操作流程:

  1. 访问:https://lock.cmpxchg8b.com/rebinder.html
  2. 输入托管恶意网页的Web服务器IP(本地测试使用私有IP)
  3. 点击生成重绑定主机名,例如:7f000001.c0a80103.rbndr.us

第三步:实际攻击流程

当受害机器打开类似http://7f000001.c0a80103.rbndr.us/的网页URL时,会加载嵌入的恶意JavaScript脚本,执行以下操作:

  • 建立与MCP服务器的连接并获取会话ID,用于后续交互
  • 调用MCP服务器的send_http1_request工具向任何内部/外部主机发起HTTP请求
  • 使用get_proxy_http_history检索HTTP历史记录

影响范围

此漏洞允许恶意网站:

  • 连接到受害者的本地MCP服务器(127.0.0.1:9876)
  • 使用send_http1_request MCP工具发起任意HTTP请求
  • 访问内部网络、本地主机服务和云元数据端点
  • 检索包含敏感数据的完整HTTP响应

附加风险

同一漏洞还允许远程攻击者提取完整的Burp HTTP历史记录,其中可能包含用户凭据、令牌等敏感信息。

时间线

  • 2025年6月3日:漏洞报告提交
  • 2025年6月9日:状态更改为"已分类"
  • 2025年6月16日:MCP Server v1.1.0修复此问题
  • 2025年10月8日:报告公开披露

漏洞详情

弱点类型:服务器端请求伪造(SSRF) 严重程度:无(由于资产类型更改为BApps) 赏金:$2,000 CVE ID:无

注意:虽然BApps不符合赏金资格,但由于这是PortSwigger自己的扩展,仍授予了奖金。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计