在网络安全的世界里,SSRF(Server-Side Request Forgery,服务器端请求伪造) 是一个极具威胁的漏洞类型。它不仅是渗透测试中的“常客”,更是攻击者突破外网防线、深入内网的“跳板”。今天,就带你深入剖析 SSRF如何被用于内网渗透,从漏洞原理、利用手法到实战技巧,全程干货,助你构建更安全的数字世界。

🔍 本文适合对象:网络安全初学者、渗透测试爱好者、开发运维人员
✅ 阅读收获:掌握SSRF核心原理、学会常见攻击手法、了解防御策略
什么是SSRF?为什么它能“穿透”内网?
1.1 SSRF漏洞定义
SSRF(服务器端请求伪造)是一种安全漏洞,攻击者通过操控存在缺陷的Web应用,使其向内网或本地系统发起任意网络请求。由于请求是由服务器自身发出的,因此可以绕过防火墙等外网访问限制,直接访问那些“外网无法触及”的内部服务。
📌 形象比喻:
想象你(攻击者)无法进入公司内网,但你让公司前台(存在漏洞的服务器)帮你去内网各部门(内网服务)取文件。前台有权限进入,而你通过“指令”操控前台,从而获取了本不该你能看到的信息。
1.2 SSRF形成原因
Web应用提供了“获取外部资源”功能(如:加载图片、抓取网页、下载文件)。
后端代码未对用户输入的目标URL进行严格校验和过滤。
使用了如
file_get_contents()、curl_exec()、fsockopen()等危险函数,且参数可控。
SSRF如何实现内网渗透?四大攻击手法详解
一旦发现SSRF漏洞,攻击者便可将其作为跳板,逐步深入内网。以下是常见的攻击路径:
攻击手法一:读取本地敏感文件(File协议)
利用 file:// 伪协议,SSRF可以直接读取服务器本地文件,获取系统配置、密码等敏感信息。
📌 实战意义:
通过读取 /proc/net/arp 或路由表,可获取内网IP段信息,为后续端口扫描和横向移动提供情报支持。
攻击手法二:内网端口扫描与服务探测
SSRF可用来探测内网开放的端口和服务,常见的协议包括:
HTTP/HTTPS:探测内网Web服务(如:管理后台、API接口)
DICT:探测开放端口(如:
dict://127.0.0.1:3306)Gopher:支持多种协议,功能强大
📌 技巧:
使用Burp Suite的Intruder模块,配合IP和端口字典进行批量爆破,快速绘制内网资产地图。
攻击手法三:攻击内网Redis服务(高危案例)
Redis常部署于内网且默认无密码,是SSRF攻击的“黄金目标”。攻击者可利用SSRF写入SSH公钥、计划任务,甚至反弹Shell。
步骤1:探测Redis服务
步骤2:利用Gopher协议写入计划任务反弹Shell
Redis命令需用 %0d%0a(\r\n)分隔,再进行URL编码:
使用工具 Gopherus 自动生成Gopher payload:
最终请求:
✅ 结果:成功获取内网服务器权限,实现“从外网到内网”的完全控制。
攻击手法四:绕过WAF与过滤机制
许多系统会对 127.0.0.1、localhost 等关键词进行过滤。攻击者可通过以下方式绕过:
| 绕过方式 | 示例 |
|---|---|
| IP地址缩写 | 127.1 代替 127.0.0.1 |
| 十六进制/八进制 | 0x7f000001、0177.0.0.1 |
| URL双重编码 | %2566%2569%256c%2565 → file |
| @符号绕过 | http://attacker.com@127.0.0.1 |
真实渗透流程复现(简化版)
假设目标存在SSRF漏洞,流程如下:
确认漏洞:
?url=http://your-vps.com,观察是否收到请求。读取本地文件:
?url=file:///etc/passwd,确认权限。探测内网IP段:读取
/proc/net/arp获取内网主机。端口扫描:使用Burp爆破
192.168.1.1-254:1-65535。发现Redis服务:
?url=dict://192.168.1.101:6379/info生成Gopher payload:利用工具构造反弹Shell命令。
发送攻击请求:通过SSRF触发,获取内网Shell。
如何防御SSRF?企业必知的修复建议
白名单校验:只允许访问特定域名或IP。
禁用危险协议:禁止
file://、gopher://、dict://等。限制端口范围:仅允许80、443等常规Web端口。
使用DNS重绑定防护:防止通过动态DNS绕过IP限制。
隐藏敏感信息:避免在响应中返回完整请求结果。
部署WAF规则:拦截包含
file://、gopher://的请求。
写在最后:安全是持续的过程
SSRF漏洞看似简单,却能引发“蝴蝶效应”,导致整个内网沦陷。无论是开发者还是安全人员,都应高度重视此类漏洞。
🛡️ 温馨提醒:
学习渗透技术的目的是为了更好地防御。请遵守《网络安全法》及相关法律法规,未经授权的渗透测试属于违法行为!
📢 如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、分享!关注我,获取更多硬核数码安全知识!





















