河内机器人 SSRF漏洞绕过机制全解析:从内网探测到云元数据窃取的实战路径
SSRF漏洞的核心攻击逻辑,是黑客利用存在缺陷的Web应用作为代理,以服务器的身份向内部网络发起请求,突破外网无法直接访问内网的物理隔离。而现代Web系统通常会部署多层防护机制拦截恶意内网请求,黑客正是通过一系列针对性的绕过技巧,突破这些限制,最终完成从内网端口扫描到云环境核心元数据窃取的全流程攻击。
基础防护绕过:突破IP与域名黑名单拦截
绝大多数Web应用的第一层SSRF防护,是通过黑名单规则拦截内网IP段、敏感域名和危险协议,黑客的基础绕过手段正是针对这类简单校验设计的:
IP地址编码混淆:将标准的192.168.x.x这类点分十进制内网IP,转换为八进制、十六进制、十进制整数形式,比如把127.0.0.1改写为0177.0.0.1、0x7f.0.0.1或者2130706433,很多校验规则无法识别这类编码后的内网地址,直接放行请求。
特殊域名与符号滥用:利用DNS解析特性构造特殊域名,比如指向127.0.0.1的短链接、本地回环域名localtest.me,或者通过@符号构造混淆URL,比如https://example.com@127.0.0.1,让后端解析时实际访问的是@符号后的内网地址,绕过域名白名单的前缀校验。
协议与重定向绕过:如果系统仅限制了http/https协议,黑客可以切换到file:///读取本地敏感文件、dict://探测内网端口,甚至利用服务端自动跟随重定向的特性,先提交合法的外网URL,再在自己控制的服务器上返回302重定向到内网地址,让后端在二次请求时绕过初始的URL校验。
进阶绕过:突破深层校验的高级技巧
当Web应用部署了更严格的防护,比如通过DNS预解析提前校验目标IP是否属于内网段,普通的编码绕过就会失效,此时黑客会使用更隐蔽的进阶手段:
DNS重绑定攻击:构造特殊的恶意域名,让其第一次DNS解析返回合法的公网IP,通过系统的前置IP校验,在极短的时间内修改DNS记录,将域名解析结果切换为内网IP,当服务端后续真正发起请求时,就会直接访问到内网资源,绕过DNS预解析的校验逻辑。
分段与换行编码绕过:利用部分URL解析器的解析缺陷,在URL中插入CRLF换行符、多余的点号、空字节等特殊字符,比如将192.168.1.1改写为192。168。1。1(替换点号为中文句号),或者插入换行符拆分URL,让校验模块和后端请求模块对同一个URL产生不同的解析结果,实现校验绕过。
端口与分片绕过:针对限制了80、443之外端口的防护规则,黑客可以通过URL默认端口省略、端口号编码转换等方式,访问内网的Redis、MySQL等非标准端口服务,甚至利用HTTP请求分片的特性,将内网请求拆分到多个数据包中发送,绕过基于内容匹配的WAF防护。
最终突破:云元数据窃取的专属绕过路径
在云环境中,SSRF攻击的核心目标是云服务商的元数据服务,这类服务通常绑定在169.254.169.254这个特殊链路本地地址上,存储着云实例的临时密钥、实例ID、网络配置等最高权限的敏感信息,是黑客入侵云环境的关键突破口。
常规的IP黑名单很容易拦截169.254.169.254,黑客会通过一系列专属绕过技巧突破限制:比如将该IP转换为整数2851995962构造请求,或者利用云环境内部的DNS解析规则,通过云服务商提供的特殊域名指向元数据服务,甚至借助内网的HTTP代理服务作为跳板,间接向元数据地址发起请求。部分云环境的元数据服务还部署了动态令牌校验,黑客会结合Gopher协议构造完整的HTTP POST请求,伪造合法的令牌交互流程,最终绕过所有防护,直接下载云实例的临时访问凭证,完成整个云环境的接管。
这类攻击的隐蔽性极强,所有请求都从受信任的服务器内部发起,传统的边界防火墙几乎无法拦截,也是当前云环境安全防护中最需要重点关注的风险点。