漏洞原理:
SSRF服务器的请求伪造漏洞,一种由攻击者构造形成由服务器发起请求的漏洞。
漏洞原因:
服务器提供从其他服务器获取数据的功能,且没有对目标地址做出过滤和限制。比如:指定URL获取网页的内容,指定的下载,等等
漏洞源码:
<?php
$url=@$_GET['url'];
$ch=curl_init();//初始化会话
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$res=curl_exec($ch);//执行会话
curl_close($ch);
echo $res;
?>
进行访问请求
这是一个正常的流程,经常用来访问链接、图片等,同样可以进行漏洞利用
漏洞利用
多用于探测内网各系统的弱口令,进行内网漫游
收集内网web应用的指纹识别1,如开放的端口,中间件的版本信息
利用file协议,可以请求读取本地任意文件
当请求为http://192.168.15.108:端口
通过任意指定端口,判断端口是否开放
若迅速返回则端口开放,如443
若长时间访问后没有结果则端口关闭,如444
还有更多的利用方式,参考
http://www.freebuf.com/column/157466.html
判断是否为SSRF漏洞
通过抓包进行判断
可以看出是服务器发出的请求,而不是百度服务器发出的请求,可以判断为SSRF漏洞。