目录
SSRF简介
SSRF漏洞原理
SSRF漏洞的验证方法
主要用途
产生SSRF的PHP函数
SSRF漏洞常见位置
SSRF漏洞代码分析
实例演示-读取本地文件
SSRF简介
SSRF(server-site request forey,服务器请求伪造)是一种构造请求,由服务器发起请求的安全漏洞。
一般的情况下,SSRF的目标就是与外部隔离的内网资源
SSRF漏洞原理
服务器提供了从其他服务器获取数据的功能,但没有对内网目标地址做过滤与限制。
SSRF漏洞的验证方法
.因为SSRF漏洞是让服务器发送请求的安全漏洞,所以我们可以通过抓包分析发送的请求是否是由服务器发送的,从而判断是否存在SSRF漏洞在页面源码中查找访问的资源地址,如果该资源地址类型为/url.php?image= (地址)就有可能存在SSRF漏洞主要用途
1.对外网、服务器所在的内网、本地进行端口扫描,获取Banner信息。
2.测试运行在内网或本地的应用程序
3.利用file协议读取本地文件
产生SSRF的PHP函数
file_get_contents()fsockopen()curl_exec()SSRF漏洞常见位置
*所有能调用外部资源的参数都有可能存在SSRF漏洞
分享转码服务在线服务图片加载与下载:通过url加载或者下载图片图片、文章收藏功能未公开的api实现以及其他调用URL的功能
SSRF漏洞代码分析
<?php
if(isset($_GET['url']))
{
$link =$_GET['url'];
$curlobj = curl_init($link);
curl_setopt($curlobj,CURLOPT_HEADER,0);
curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($curlobj);
echo $result;
curl_close($curlobj);
}
实例演示-读取本地文件
127.0.0.1/ssrf.php?url=file:///c:/post.txt