文章总结: 本文深度解析SSRF漏洞原理与实战利用。指出SSRF本质是信任错位,攻击者借此探测或攻击内网。内容涵盖黑白盒挖掘、伪协议利用、IP变形与重定向绕过技巧,以及针对Redis和MySQL的攻击路径。最后提出白名单与解析后校验等防御策略,强调理解信任边界的重要性,具有极高实战参考价值。 综合评分: 93 文章分类: WEB安全,渗透测试,漏洞分析,内网渗透,红队
第65天-WEB攻防 · SSRF 利用绕过与挖掘思路深度解析
原创
萧瑶 萧瑶
AlphaNet
2026年3月4日 10:29 江苏
一、SSRF 本质:让服务器替你“出差”
SSRF(Server-Side Request Forgery)直译就是“服务器端请求伪造”。
核心问题只有一句话:
用户可控 URL → 服务器主动发起请求 → 没有严格校验 → 你就可以借服务器身份访问任意资源。
攻击者并不是直接打内网,而是“骗服务器去打”。
这是一种权限借用行为。
服务器在内网里通常是“可信身份”,而你通过它,获得了它的访问能力。
二、SSRF 的核心安全影响
-
读取本地文件(file 协议)
-
探测内网主机与端口(内网横向扫描)
-
攻击内网服务(Redis / MySQL / Tomcat / Jenkins 等)
-
触发云厂商元数据服务(例如 AWS Metadata)
-
组合漏洞实现 RCE
从攻击链视角看:
SSRF 本身可能不是终点,而是跳板。
三、SSRF 挖掘思路
1️⃣ 黑盒挖掘逻辑 —— 从“功能”找入口
SSRF 很少写着“这里有漏洞”。
它藏在业务逻辑里。
高危功能点包括:
-
社交分享(自动抓取网页标题)
-
在线转码
-
在线翻译
-
图片加载/下载
-
富文本远程图片上传
-
云服务探活接口
-
网站采集爬虫
-
数据库 copyDatabase 等函数
-
邮件服务器地址填写
-
ffmpeg / ImageMagick / XML 解析器
-
未公开 API 的 URL 参数
常见可疑参数
url
link
target
source
imageURL
domain
display
u
share
经验法则:
只要后端会去“访问你提供的地址”,就值得测试。
2️⃣ 白盒分析 —— 代码审计重点
重点盯住:
-
file_get_contents
-
curl_exec
-
HttpClient
-
fopen
-
load()
-
XML parser
-
ImageMagick 调用
核心判断:
是否对协议、IP、端口做严格限制?
如果没有,漏洞可能就在。
四、SSRF 伪协议利用
真正精彩的地方来了。
很多开发只防 http/https,却忽略其他协议。
常见可利用协议
file://
dict://
gopher://
ldap://
tftp://
sftp://
其中真正的王者是:
gopher://
因为它可以构造原始 TCP 数据包。
也就是说:
你可以通过 SSRF 去“手写协议”打 Redis / MySQL。
常用工具:
- Gopherus
五、SSRF 绕过技巧
场景 1:限制域名为 www.xxx.com
利用基本认证绕过:
http://[email protected]
浏览器识别为访问 evil.com。
场景 2:限制不能访问内网 IP
经典绕过方式:
十六进制:
http://0x7F000001
八进制:
http://0177.0.0.1
十进制整数:
http://2130706433
简写:
http://127.1
特殊写法:
http://0
http://0.0.0.0
CIDR 变形:
http://127.127.127.127
本质原因:
不同解析库对 IP 解析方式不同。
场景 3:3XX 重定向绕过
目标站点:
header("Location:http://127.0.0.1/flag.php");
攻击方式:
url=http://外部服务器/redirect.php
服务器先访问外部,再被重定向到内网。
场景 4:长度限制绕过
http://127.1
http://0
短 IP 变形常用于 CTF。
六、SSRF 打内网服务实战逻辑
这里不提供攻击性细节,只讲利用原理。
Redis 利用思路
利用 dict/gopher:
-
改写 dir
-
改写 dbfilename
-
写入 cron 任务
-
save
核心思想:
把 Redis 当文件写入工具。
MySQL 利用
通过 gopher 构造协议数据包,执行 SQL。
利用点:
-
写插件目录
-
读取变量
-
UDF 注入
Tomcat PUT 漏洞
若开启 PUT 且未限制:
可上传 JSP WebShell。
关键点:
SSRF 可用于打 127.0.0.1:8080。
七、SSRF 过滤绕过总结思维模型
你可以把绕过方法抽象成三类:
-
地址表示变化(进制/缩写)
-
解析链变化(DNS/重定向)
-
协议变化(gopher/file)
底层逻辑永远是:
绕过开发者的“字符串匹配”。
八、防御策略:工程化思维
防御 SSRF 的关键不在黑名单,而在:
1️⃣ 白名单机制
仅允许访问特定域名。
2️⃣ 解析后再校验
-
先 DNS 解析
-
再校验 IP
-
再发请求
3️⃣ 禁止非 HTTP 协议
仅允许 http/https。
4️⃣ 限制端口
80 / 443 / 8080 等。
5️⃣ 统一错误信息
避免根据端口差异判断服务状态。
九、SRC 复盘思维
真实世界中的 SSRF 报告常见场景:
-
云厂商元数据泄露
-
内网 Jenkins 未授权
-
Redis 未授权
-
k8s API 暴露
-
Docker socket
高级漏洞链:
SSRF → 打 Redis → 写 WebShell → RCE
真正的价值不在“能不能读 127.0.0.1”,
而在:
你能不能找到下一个跳板。
十、理解 SSRF 的哲学本质
SSRF 不是简单漏洞,它是一种“信任错位”。
系统默认:
服务器是可信的。
而攻击者做的事只有一件:
借壳。
如果从架构层面理解:
-
微服务之间默认信任
-
内网无鉴权
-
云环境默认 Metadata 可访问
那 SSRF 就会永远存在。
结语
SSRF 的强大不在于花哨的 payload。
而在于你对网络结构的理解深度。
真正的高手测试 SSRF 时脑中会自动生成一张拓扑图:
-
内网段
-
中间件
-
端口
-
云元数据
-
容器
当你开始用“系统视角”看漏洞时,
你就已经超越了“打点”,进入了“攻防建模”。
安全不是找洞,而是理解信任边界。
而 SSRF,就是信任边界最优雅的破坏方式之一。
下一步值得深入的方向:
-
云环境 SSRF 利用
-
Kubernetes SSRF 场景
-
SSRF + XXE 组合
-
Blind SSRF 探测技巧
当你理解“服务器替你发包”的那一刻,
你已经站在内网的大门前了。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:AlphaNet 萧瑶 萧瑶《第65天-WEB攻防 · SSRF 利用绕过与挖掘思路深度解析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论