目录
一、SSRF 漏洞原理
SSRF(Server-Side Request Forgery)服务端请求伪造,是一种由服务器发起请求的伪造攻击漏洞。
攻击者无法直接访问内网、本地、受限资源,利用服务器作为跳板,让服务端主动发起请求,探测、攻击、读取内网资源。

核心特点:攻击目标大多是外网无法直接访问的内网系统、本地主机、后台服务。
二、SSRF 主要攻击危害
- 内外网端口、服务扫描
利用服务端探测内网存活主机、开放端口、运行服务,绘制内网拓扑。 - 读取本地敏感文件
利用 file、gopher、dict 等协议读取服务器本地配置文件、密钥、源码、隐私数据。 - 远程命令执行 / 内网服务攻击
攻击内网 Redis、MySQL、FTP、LDAP 等服务,可造成命令执行、数据泄露、服务沦陷。 - DOS/DDOS 攻击
构造长连接、大文件请求,占用服务器带宽、资源,造成服务拒绝。 - 对内网 Web 应用渗透
对内网后台发起 SQL 注入、XSS、越权等二次攻击,内网服务通常无外网防护。
三、SSRF 与 CSRF 核心区别
- CSRF(跨站请求伪造):客户端浏览器发起请求,攻击用户权限。
- SSRF(服务端请求伪造):服务器主动发起请求,攻击内网与本地服务。
四、容易出现 SSRF 漏洞的功能场景
- 社交分享、URL 跳转、网页预览功能
- 在线转码、在线翻译、网页内容抓取
- 远程图片加载、远程头像下载、富文本远程资源加载
- 文章、内容收藏、抓取网页标题内容
- 云服务检测网站存活、远程资源探测
- 网站采集、爬虫、URL 解析功能
- 数据库远程同步、复制功能(mongodb copyDatabase)
- 邮件系统解析远程服务器地址
- 多媒体处理:ffmpeg、ImageMagick、docx、pdf、XML 解析
- 各类 API 远程调用、外链导入功能
- 所有允许用户输入 URL、IP、域名的功能点
常见高危参数特征
share、wap、url、link、src、source、target、u、imageURL、domain
五、触发 SSRF 的高危 PHP 函数
1. file_get_contents()
直接读取用户传入的 URL / 文件内容,最容易出现 SSRF。
支持 file://、php://、http:// 等协议。
<?php
$url = $_GET['url'];
echo file_get_contents($url);
?>
2. fsockopen()
通过 Socket 主动建立 TCP 连接,可自定义请求,可扫描端口、发送数据包。
<?php
function GetFile($host,$port,$link) {
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
if (!$fp) {
echo "$errstr (error number $errno) \n";
} else {
$out = "GET $link HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$contents='';
while (!feof($fp)) {
$contents.= fgets($fp, 1024);
}
fclose($fp);
return $contents;
}
}
?>
3. curl_exec()
curl 系列函数支持丰富协议,是 SSRF 利用最多的函数,默认不自动跟踪跳转。
<?php
if (isset($_POST['url'])){
$link = $_POST['url'];
$curlobj = curl_init();
curl_setopt($curlobj, CURLOPT_URL,$link);
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($curlobj);
curl_close($curlobj);
echo $result;
}
?>
其他高危函数
fopen()、readfile()、xmlrpc 相关远程调用函数
六、SSRF 四大高危协议
1. file:// 本地文件读取
有回显情况下,读取服务器任意本地文件(配置、密钥、密码文件)。
示例:url=file:///etc/passwd
2. dict:// 服务探测与命令查询
探测内网端口、服务版本、Redis 信息。
示例:dict://127.0.0.1:6379/info
3. gopher:// 万能协议(最强利用)
支持自定义 GET/POST 完整数据包,可攻击绝大多数内网服务,反弹 Shell、批量执行命令。
4. http/https:// 内网扫描
探测内网主机存活、端口开放、Web 服务漏洞。
七、SSRF 常见绕过姿势(面试必考)
1. @符号绕过域名白名单
URL 解析规则:协议://用户凭证@域名
浏览器 / 服务器最终访问 @后面的域名
示例:
http://baidu.com@127.0.0.1 实际访问 127.0.0.1
多层 @可混淆防护:http://a.com@b.com@c.com
2. 短链接 302 跳转绕过
利用短链接平台(dwz.cn、tinyurl)生成跳转链接,跳转至内网地址,绕过 URL 拦截。
3. DNS 解析绕过
xip.io 泛解析:
127.0.0.1.xip.io → 解析为本地回环地址
4. IP 进制转换绕过
127.0.0.1 多种编码绕过:
- 十进制:2130706433
- 十六进制:0x7f.0.0.1
- 八进制:0177.0.0.1
5. 特殊地址绕过
http://0/等价本地地址http://[::]/IPv6 本地回环绕过localhost限制- 中文句号绕过:
127。0。0。1
6. 多协议滥用绕过
ftp://、sftp://、tftp://、ldap://、gopher:// 绕过仅拦截 http 的防护
7. 上传功能伪 SSRF
将文件上传参数 type=file 改为 type=url,触发远程请求造成 SSRF。
八、SSRF 漏洞防御方案
- 协议白名单限制
仅允许http/https,彻底禁止file、gopher、dict、ftp高危协议。 - 禁用内网与本地地址
拦截127.0.0.1、0.0.0.0、10/172/192内网段、IPv6 本地地址。 - IP 重校验
解析域名后二次校验真实 IP,防止 DNS 跳转、短链接绕过。 - 关闭危险函数协议封装
php.ini 禁用 gopher、file 等协议的远程调用。 - 限制请求端口
只允许 80、443 等常规 Web 端口,禁止 21、22、6379、3306 等高危内网端口。 - 请求超时、连接限制
设置短超时时间,防止长连接 DOS 攻击。 - 开启 URL 严格解析规则
禁止 @符号、特殊符号、畸形 URL 解析,防止域名混淆绕过。
九、全文总结
SSRF 是高危内网穿透漏洞,核心风险是利用服务器身份攻击内网。
相比于 CSRF 客户端攻击,SSRF 危害更大,可直接穿透边界防火墙,扫描内网、读取本地文件、攻击内网服务、执行命令。
渗透测试核心思路:找 URL 可控参数 → 尝试多协议测试 → 尝试各类 IP 绕过 → 内网探测与服务攻击。
防御核心:白名单协议、拦截内网 IP、二次解析校验、限制端口。
最后
关于网络安全技术储备
学好网络安全不论是就业还是做副业赚钱都不错,但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料,给那些想学习网络安全的小伙伴们一点帮助!
对于0基础小白入门:
如果你是零基础小白,想快速入门网络安全是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:网安成长学习路线图、SRC&黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全!
需要的可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)

👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

👉5.黑客必读书单👈
随着互联网技术的飞速发展,网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等,以其强大的语言理解和防御能力,正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。

👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

这份完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

1534



被折叠的 条评论
为什么被折叠?



