上一篇文章我们学习了 SSRF 的基础概念。

知道了 SSRF 的本质:

让服务器代替攻击者发送请求。

但新的问题来了。

攻击者明明在互联网,为什么却能够探测到企业内部网络?

这就是 SSRF 最经典的利用方向之一:内网探测。

今天我们就把这个过程彻底搞明白。

一、什么是内网

我们平时访问的网站都属于公网。

例如:

www.example.com

任何人都可以访问。

而企业内部还存在大量服务器:

  • 数据库服务器
  • OA系统
  • 运维平台
  • 测试环境
  • 文件服务器

这些服务器通常不会暴露到互联网。

例如:

192.168.1.10
192.168.1.20
10.0.0.5

这些地址属于内网地址,只能在企业内部访问,外部用户无法直接连接。

二、为什么攻击者访问不到内网

正常网络结构:

攻击者
    ↓
互联网
    ↓
企业防火墙
    ↓
内网服务器

例如攻击者尝试访问:

http://192.168.1.10

结果:

连接失败

因为:内网地址不会在互联网中进行路由转发。

所以攻击者根本到不了目标服务器。

三、为什么 SSRF 可以访问内网

现在假设网站存在 SSRF:

GET /fetch?url=

后台代码:

requests.get(url)

此时攻击者提交:

url=http://192.168.1.10

访问流程变成:

攻击者
    ↓
存在SSRF的网站
    ↓
192.168.1.10

请求不再由攻击者发送,而是由企业服务器发送。

因为企业服务器本身就在内网环境中。

所以能够成功访问目标。

四、企业内网常见IP段

学习 SSRF 时必须认识这些地址。

A类私有地址

10.0.0.0 - 10.255.255.255

B类私有地址

172.16.0.0 - 172.31.255.255

C类私有地址

192.168.0.0 - 192.168.255.255

本机地址

127.0.0.1
localhost

表示当前服务器自己。

五、SSRF 如何发现存活主机

假设攻击者开始尝试:

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4

不同地址会返回不同结果。

例如:

192.168.1.1


返回200

说明:主机存在并正常响应。

192.168.1.2


连接超时

说明:可能存在主机但未响应。

192.168.1.3
Connection Refused

说明:主机存在,但目标端口关闭。

通过这些响应差异,攻击者可以逐步绘制企业内网地图。

六、SSRF 如何探测端口

发现主机之后,下一步就是探测端口。

例如:

http://192.168.1.10:22

http://192.168.1.10:80

http://192.168.1.10:3306

不同端口会返回不同结果。

从而判断服务是否开放。

七、常见端口对应服务

22      SSH
80      HTTP
443     HTTPS
3306    MySQL
6379    Redis
8080    Web后台

如果发现这些端口开放,说明服务器上可能存在对应服务。

八、为什么超时信息很重要

很多初学者只关注响应内容。

实际上:超时信息往往更有价值

例如:请求立即失败

说明:目标可能不存在。

等待10秒后超时

说明:目标大概率存在,只是没有返回数据。

这就是很多 SSRF 内网探测工具的核心思路。

九、SSRF 内网探测完整流程

第一步:

发现 SSRF。

用户可控URL

第二步:

探测存活主机。

192.168.x.x
10.x.x.x
172.16.x.x

第三步:

探测开放端口。

22
80
443
3306
6379

第四步:

识别服务类型。

Web
Redis
MySQL
SSH

第五步:

寻找高价值目标。

管理后台
数据库
云平台接口

这就是完整的 SSRF 内网探测流程。

十、为什么云环境特别害怕 SSRF

现代企业大量使用云服务器。

例如:

  • 阿里云
  • 腾讯云
  • AWS

云服务器通常提供:169.254.169.254 特殊地址,用于获取实例信息。

如果 SSRF 能访问这里。

可能获取:

  • Access Key
  • 临时凭证
  • 云配置
  • 身份信息

因此云环境中的 SSRF 风险通常更高。

十一、防御思路

URL白名单

只允许访问可信域名。

禁止访问内网地址

过滤:

127.0.0.1
10.x.x.x
172.16.x.x
192.168.x.x

DNS校验

防止域名解析到内网IP。

网络隔离

限制服务器访问敏感资源。

日志监控

及时发现异常访问行为。

十二、总结

SSRF 内网探测的核心逻辑并不复杂。

攻击者无法直接访问内网。

于是利用 SSRF:

攻击者
    ↓
存在SSRF漏洞的网站
    ↓
企业内网

服务器成为了攻击者的“代理人”。

学习这一部分时,重点理解三个问题:

1. 为什么外网访问不到内网?
2. 为什么服务器能够访问内网?
3. 为什么响应差异可以帮助发现资产?

把这三个问题想明白,SSRF 内网探测就真正入门了。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐