第65天-WEB攻防·SSRF利用绕过与挖掘思路深度解析

admin 2026-03-05 20:51:28 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文深度解析SSRF漏洞原理与实战利用。指出SSRF本质是信任错位,攻击者借此探测或攻击内网。内容涵盖黑白盒挖掘、伪协议利用、IP变形与重定向绕过技巧,以及针对Redis和MySQL的攻击路径。最后提出白名单与解析后校验等防御策略,强调理解信任边界的重要性,具有极高实战参考价值。 综合评分: 93 文章分类: WEB安全,渗透测试,漏洞分析,内网渗透,红队


cover_image

第65天-WEB攻防 · SSRF 利用绕过与挖掘思路深度解析

原创

萧瑶 萧瑶

AlphaNet

2026年3月4日 10:29 江苏

一、SSRF 本质:让服务器替你“出差”

SSRF(Server-Side Request Forgery)直译就是“服务器端请求伪造”。

核心问题只有一句话:

用户可控 URL → 服务器主动发起请求 → 没有严格校验 → 你就可以借服务器身份访问任意资源。

攻击者并不是直接打内网,而是“骗服务器去打”。

这是一种权限借用行为。

服务器在内网里通常是“可信身份”,而你通过它,获得了它的访问能力。


二、SSRF 的核心安全影响

  1. 读取本地文件(file 协议)

  2. 探测内网主机与端口(内网横向扫描)

  3. 攻击内网服务(Redis / MySQL / Tomcat / Jenkins 等)

  4. 触发云厂商元数据服务(例如 AWS Metadata)

  5. 组合漏洞实现 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:

  1. 改写 dir

  2. 改写 dbfilename

  3. 写入 cron 任务

  4. save

核心思想:

把 Redis 当文件写入工具。


MySQL 利用

通过 gopher 构造协议数据包,执行 SQL。

利用点:

  • 写插件目录

  • 读取变量

  • UDF 注入


Tomcat PUT 漏洞

若开启 PUT 且未限制:

可上传 JSP WebShell。

关键点:

SSRF 可用于打 127.0.0.1:8080。


七、SSRF 过滤绕过总结思维模型

你可以把绕过方法抽象成三类:

  1. 地址表示变化(进制/缩写)

  2. 解析链变化(DNS/重定向)

  3. 协议变化(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 利用绕过与挖掘思路深度解析》

评论:0   参与:  0