SSRF 漏洞利用方式

1. 端口扫描

这是最基础也最常见的利用方式。通过控制服务器向内网 IP 的不同端口发起请求,并根据响应时间、响应内容或 HTTP 状态码来判断端口是否开放

  • 利用方式:
    • GET 请求: http://192.168.1.1:22
    • 响应判断: 如果端口开放,通常会有 HTTP 响应;如果端口关闭或服务不存在,请求会超时或返回连接失败。通过脚本自动化这个过程,可以快速绘制出内网的端口图

2. 访问内网应用

如果服务器能够访问内网,攻击者就可以通过SSRF漏洞来探测和攻击那些通常无法从外部网络访问的应用

  • 利用方式:
    • 访问管理后台: 很多公司的内部管理系统、OA、数据库管理工具等都在内网运行。攻击者可以通过SSRF 漏洞直接访问这些后台,如果存在弱口令,就可能直接接管系统
    • 攻击内网服务: 利用 SSRF 访问内网中的 Redis、MySQL、Elasticsearch、Memcached 等服务。例如,利用 Gopher 协议 攻击 Redis 服务器,可以写入 Webshell 或者 SSH key,从而获得服务器的控制权
      • 示例: gopher://127.0.0.1:6379/_*2%0D%0A$4%0D%0Ainfo%0D%0A 这个 payload 可以向本地的 Redis 服务发送 info 命令,获取 Redis 信息
    • 利用 file:// 协议: 如果没有协议限制,可以直接读取服务器本地文件,如 /etc/passwd/etc/hosts.bash_history 等,从而获取敏感信息
      • 示例: file:///etc/passwd

3. 攻击本地文件包含(LFI)

在某些场景下,SSRF 可以与文件包含漏洞结合利用。例如,当目标网站的 URL 处理逻辑是 file=http://example.com/a.txt 时,你可以将 http 替换为 file,从而实现本地文件读取

  • 利用方式:
    • http://target.com/?url=file:///etc/passwd

4. 绕过防火墙

许多 Web 应用服务器会部署在防火墙后面,防火墙通常只允许特定的出站请求。SSRF 漏洞可以利用服务器作为跳板,绕过防火墙的限制,直接攻击内网

5. 探测云服务元数据

在云服务环境(如 AWS, Google Cloud, Aliyun)中,服务器通常有一个特殊的元数据地址,例如 http://169.254.169.254/。这个地址只在虚拟机内部可访问,其中包含了非常敏感的信息,比如 IAM 角色凭证、密钥、实例信息

  • 利用方式:
    • http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
    • 通过 SSRF 漏洞访问这个地址,攻击者可以获取临时密钥,利用这些密钥就能以该角色的权限访问云服务,比如操作 S3 存储桶、启动或停止虚拟机等,造成巨大的安全风险

6. DoS 攻击

攻击者可以利用 SSRF 漏洞让服务器向自身或内网中的关键服务发起大量的请求,从而造成拒绝服务

  • 利用方式:
    • http://localhost:80
    • 通过循环请求 http://localhost/,可以耗尽服务器资源,使其无法正常提供服务
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:12:52

results matching ""

    No results matching ""