打破传统思维 | 另一视角下的SSRF
字数 1303 2025-08-19 12:41:34

突破传统:SSRF漏洞的新型利用视角与实战教学

1. SSRF基础概念

服务器端请求伪造(SSRF)是一种安全漏洞,允许攻击者操纵服务器发送伪造请求。攻击者通过篡改应用向URL发起的数据导入、发布或其他读取操作的请求,使其指向不同的地址,或通过路径遍历等方式操控URL构建,达到访问内部资源的目的。

2. 传统SSRF利用方式

传统SSRF利用主要关注:

  • 探测内网服务与端口
  • 获取内网敏感数据
  • 实现远程代码执行(RCE)
  • 访问云服务元数据接口(如AWS/Azure的169.254.169.254)

企业防御措施通常包括:

  • 内网关键系统隔离
  • 端口访问限制
  • 严格的网络策略
  • 元数据接口访问控制

3. 新型SSRF利用视角:账户接管

3.1 核心思路

利用SSRF作为跳板,间接触及客户端,目标直指用户及其数据,特别是在子域名下的SSRF利用。

3.2 关键突破点

  • 反射客户端头部信息:让SSRF反映出客户端使用的头部信息,如同代理一般
  • 定义应用程序中的代理设置:实现类似子域名接管的效果
  • 控制子域名流量:掌控所有流向该子域名的内容

3.3 攻击场景

虽然非核心子域或开发环境中的影响可能有限,但最终目标是影响用户,实现:

  • 会话劫持
  • 账户接管
  • 敏感数据泄露

4. 实战利用步骤详解

4.1 前提条件

  1. 存在SSRF漏洞的端点位于ssrf.dev.example.com
  2. 目标域example.com下有其他使用认证的应用程序
  3. 目标应用的Cookie设置如下:
    Set-cookie: session=<session_token>
    

4.2 攻击流程

  1. 识别可利用的子域名

    • 查找*.example.com下使用认证的应用程序
    • 确认这些应用的Cookie设置方式
  2. 构造恶意请求

    • 利用SSRF端点构造指向目标子域名的请求
    • 确保请求能够反射客户端头部信息
  3. 会话劫持

    • 当用户访问SSRF端点时,服务器会向目标子域名发送请求
    • 该请求会携带用户的会话Cookie
    • 攻击者可获取这些信息实现会话劫持
  4. 扩大影响

    • 如果子域名使用通配符Cookie(如.example.com)
    • 可影响所有example.com下的子域名

4.3 技术细节

  • HTTP头部注入:通过控制请求头部实现信息泄露
  • 协议处理:利用不同协议(如file://, gopher://)扩大攻击面
  • DNS重绑定:绕过IP限制,访问内部服务

5. 防御措施

5.1 开发层面

  • 实施严格的输入验证和过滤
  • 禁用不必要的URL协议
  • 使用白名单限制可访问的域名和IP

5.2 网络层面

  • 隔离内部服务,限制出站连接
  • 实施网络分段,减少横向移动可能
  • 监控异常出站请求

5.3 Cookie安全

  • 避免使用通配符Cookie(如.example.com)
  • 为敏感Cookie设置HttpOnlySecure标志
  • 实施SameSite Cookie策略

6. 总结

这种新型SSRF利用方式突破了传统内网渗透的思路,将攻击目标转向客户端和用户数据。安全团队需要重新评估SSRF的实际影响,特别是在涉及用户会话和认证的场景下。防御措施应从开发实践、网络架构和会话管理等多方面入手,构建纵深防御体系。

突破传统:SSRF漏洞的新型利用视角与实战教学 1. SSRF基础概念 服务器端请求伪造(SSRF) 是一种安全漏洞,允许攻击者操纵服务器发送伪造请求。攻击者通过篡改应用向URL发起的数据导入、发布或其他读取操作的请求,使其指向不同的地址,或通过路径遍历等方式操控URL构建,达到访问内部资源的目的。 2. 传统SSRF利用方式 传统SSRF利用主要关注: 探测内网服务与端口 获取内网敏感数据 实现远程代码执行(RCE) 访问云服务元数据接口(如AWS/Azure的169.254.169.254) 企业防御措施通常包括: 内网关键系统隔离 端口访问限制 严格的网络策略 元数据接口访问控制 3. 新型SSRF利用视角:账户接管 3.1 核心思路 利用SSRF作为跳板,间接触及客户端,目标直指用户及其数据,特别是在子域名下的SSRF利用。 3.2 关键突破点 反射客户端头部信息 :让SSRF反映出客户端使用的头部信息,如同代理一般 定义应用程序中的代理设置 :实现类似子域名接管的效果 控制子域名流量 :掌控所有流向该子域名的内容 3.3 攻击场景 虽然非核心子域或开发环境中的影响可能有限,但最终目标是影响用户,实现: 会话劫持 账户接管 敏感数据泄露 4. 实战利用步骤详解 4.1 前提条件 存在SSRF漏洞的端点位于 ssrf.dev.example.com 目标域 example.com 下有其他使用认证的应用程序 目标应用的Cookie设置如下: 4.2 攻击流程 识别可利用的子域名 : 查找 *.example.com 下使用认证的应用程序 确认这些应用的Cookie设置方式 构造恶意请求 : 利用SSRF端点构造指向目标子域名的请求 确保请求能够反射客户端头部信息 会话劫持 : 当用户访问SSRF端点时,服务器会向目标子域名发送请求 该请求会携带用户的会话Cookie 攻击者可获取这些信息实现会话劫持 扩大影响 : 如果子域名使用通配符Cookie(如 .example.com ) 可影响所有 example.com 下的子域名 4.3 技术细节 HTTP头部注入 :通过控制请求头部实现信息泄露 协议处理 :利用不同协议(如file://, gopher://)扩大攻击面 DNS重绑定 :绕过IP限制,访问内部服务 5. 防御措施 5.1 开发层面 实施严格的输入验证和过滤 禁用不必要的URL协议 使用白名单限制可访问的域名和IP 5.2 网络层面 隔离内部服务,限制出站连接 实施网络分段,减少横向移动可能 监控异常出站请求 5.3 Cookie安全 避免使用通配符Cookie(如 .example.com ) 为敏感Cookie设置 HttpOnly 和 Secure 标志 实施SameSite Cookie策略 6. 总结 这种新型SSRF利用方式突破了传统内网渗透的思路,将攻击目标转向客户端和用户数据。安全团队需要重新评估SSRF的实际影响,特别是在涉及用户会话和认证的场景下。防御措施应从开发实践、网络架构和会话管理等多方面入手,构建纵深防御体系。