文章总结: 本文档是PortSwigger靶场BlindSSRFwithout-of-banddetection的通关指南。核心要点是利用OAST方法,在Referer头中注入BurpCollaborator域名,通过后端服务器的异步请求行为验证盲SSRF漏洞。关键发现是响应不回显,需带外交互。可操作建议是使用BurpCollaborator公共服务器,按步骤注入payload并轮询交互记录。 综合评分: 90 文章分类: 渗透测试,漏洞分析,WEB安全,红队,安全工具
【基于带外检测的SSRF盲注 —— PortSwigger“Blind SSRF with out-of-band detection”完整通关指南】
原创
卡布奇诺的派对 卡布奇诺的派对
卡布奇诺的派对
2026年7月14日 07:24 河南
在小说阅读器读本章
去阅读
Payload: Referer:http://[random-id].oastify.com
基于带外检测的盲SSRF漏洞
—— PortSwigger“Blind SSRF with out-of-band detection”完整通关指南
🎯 靶场速览
目标:该网站使用分析软件,在加载产品页面时会获取 Referer 头中指定的 URL。需要利用此功能向公共 Burp Collaborator 服务器发起 HTTP 请求以完成实验。
难点:后端服务器在渲染产品页面时,会异步请求 Referer 头中的 URL。但与普通 SSRF 不同,响应内容不会返回给前端,属于“盲 SSRF”。我们需要通过带外(Out-of-Band) 方式来验证攻击是否成功。
关键限制:实验室防火墙会拦截与任意外部系统的交互,必须使用 Burp Collaborator 的默认公共服务器。
🚀 分步攻击链
第1步:定位注入点
访问任意产品页面(如某个商品详情页),在 Burp Suite 的 Proxy > HTTP history 中找到该 GET 请求。
💡 关键发现:本关漏洞点不在“检查库存”功能,而是位于请求头中的
Referer字段。
将请求发送到 Repeater。
第2步:注入 Collaborator 有效载荷
在 Repeater 标签页中,选中 Referer 头的值(域名部分),右键 → “Insert Collaborator payload”。
此时 Referer 会被替换为一个类似 http://[random-id].oastify.com 的 Collaborator 域名。
完整请求示例:
GET /product?productId=1 HTTP/1.1Host: [target-lab-id].web-security-academy.netReferer: http://[random-id].oastify.com...
第3步:发送请求并轮询结果
点击 “Send” 发送请求。随后切换到 Collaborator 标签页,点击 “Poll now”。
如果看到 DNS 和 HTTP 交互记录,说明后端服务器确实访问了你注入的 Collaborator 地址,漏洞确认存在。
⏱️ 由于服务器端命令是异步执行的,如果没有立即收到交互,等待 5-10 秒后再次点击 “Poll now”。
💡 核心原理
什么是盲 SSRF?
普通 SSRF 中,服务器对目标 URL 的请求结果会直接返回给攻击者(如页面内容、错误信息等)。而盲 SSRF 中,虽然服务器发出了请求,但响应不会返回到前端。攻击者无法通过响应内容判断漏洞是否存在,也无法直接读取内网数据。
什么是 OAST(带外应用安全测试)?
OAST 的核心思路是:让目标服务器主动联系我们可控的外部系统。具体到这个靶场:
- 我们在
Referer中注入一个由我们控制的域名(Burp Collaborator) - 后端服务器在处理请求时,会向这个域名发起 HTTP 请求(用于分析来源流量)
- 我们在 Collaborator 服务端监听并记录这次交互(包括 DNS 解析和 HTTP 请求)
- 收到交互记录 → 证明 SSRF 漏洞存在
Burp Collaborator 充当了一个带外交互监听器的角色,专门用于检测这类“不可见”的漏洞。
为什么选择 Referer 头?
后端分析软件通常会记录访问来源,实现方式就是通过 Referer 头向来源网站发起请求以获取信息。这种“服务器向客户端提供的 URL 发起请求”的行为,恰好构成了 SSRF 漏洞的触发点。
🔧 同类技巧拓展
| 技巧 | 说明 | 适用场景 |
| — | — | — |
| 替换不同请求头 | 不仅限于 Referer,Host、Origin、X-Forwarded-For、X-Client-IP 等头也可能被后端用来发起请求 | 快速探测多个注入点 |
| Collaborator Everywhere 扩展 | 自动在所有 HTTP 头和 URL 参数中注入 Collaborator 有效载荷 | 大规模自动化探测 |
| DNS 交互优先检测 | 某些场景下后端可能只发起 DNS 查询而不发起 HTTP 请求,此时 Collaborator 的 DNS 交互记录同样有效 | 检测 DNS 解析型 SSRF |
| 时间延迟检测 | 如果没有 Collaborator 可用,可通过注入内网地址并测量响应延迟来推断是否存在 SSRF | 无外网环境的替代方案 |
| HTTP 交互细节分析 | 查看 Collaborator 收到的 HTTP 请求中的 User-Agent 和 X-Forwarded-For,判断后端使用的库和网络环境 | 指纹识别和进一步利用 |
✅ 排障自检清单
| 问题 | 原因 | 解决方案 |
| — | — | — |
| Poll now 后没有任何交互 | 注入位置错误 | 确认是在 Referer 头中插入 Collaborator 有效载荷,而非其他参数 |
| 交互记录只有 DNS 没有 HTTP | 后端仅解析域名未发起 HTTP 请求 | DNS 交互已足够证明漏洞存在 ,实验判定通过,可直接提交完成 |
| 请求被防火墙拦截 | 使用了自定义外部域名 | 必须使用 Burp Collaborator 的默认公共服务器 (.oastify.com 或 .burpcollaborator.net) |
| Collaborator 面板无反应 | 服务器端请求异步执行 | 等待 5-10 秒后再次点击 “Poll now”,可多次轮询 |
| 右键没有 “Insert Collaborator payload” | Burp 版本不支持或未联网 | 手动复制 Collaborator 标签页中生成的域名,粘贴到 Referer 中 |
| 收到交互但实验未完成 | 请求可能被缓存 | 重新发送一次请求,或清除浏览器缓存后再次触发 |
📌 总结
本关的核心在于理解 盲 SSRF 的检测思路:既然看不到响应,就让服务器主动来找我们。通过在 Referer 头中注入 Burp Collaborator 域名,利用后端服务器的自动请求行为,完成带外交互验证。
这种 OAST(带外测试) 方法在处理无回显漏洞时极为关键,不仅适用于 SSRF,还广泛应用于 SQL 盲注、XXE 盲注、RCE 盲测等场景。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:卡布奇诺的派对 卡布奇诺的派对 卡布奇诺的派对《【基于带外检测的SSRF盲注 —— PortSwigger“Blind SSRF with out-of-band detection”完整通关指南】》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论