@1kbfree
        
        2019-01-21T06:41:29.000000Z
        字数 1220
        阅读 1574
    基础
SSRF(服务端请求伪造),由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
简单来说,就是你可以操作目标网站的服务器访问指定的一个链接,所以就可以导致让服务器探测内网。
<?php// 创建一个新cURL资源$ch = curl_init();// 设置URL和相应的选项curl_setopt($ch, CURLOPT_URL, $_GET['url']);curl_setopt($ch, CURLOPT_HEADER, false);// 抓取URL并把它传递给浏览器curl_exec($ch);//关闭cURL资源,并且释放系统资源curl_close($ch);
然后访问如下链接,就可以实现操作我服务器请求url
http://127.0.0.1/ssrf.php?url=http://www.baidu.com

然后可以看到这里展示了http://www.baidu.com的内容(html),那么这个就叫做有回显的ssrf漏洞。那么我们就可以利用这个漏洞来探测内网信息,这里普及一下
SSRF漏洞探测内网信息,也就是可以探测存活的ip,比如我这台机子内网开放了192.168.8.1这个ip,那么你们内网肯定是没办法访问的,所以只能操作目标服务器去探测目标的内网ip
那么这里来利用上面的代码来跑一下我的内网信息。
http://127.0.0.1/ssrf.php?url=file:///C:/Users/19000/Desktop/1.txt

file协议介绍:
1、打开Url:http://maoyan.com/profile,然后选择一个图片上传然后抓包发现有如下请求

然后我猜想这里的处理流程是这样的:
UrlUrl去访问并且使其成为图片地址(应该是读取Url然后把它内容写入~)那么以上流程如果Url没有严格过滤的话是会造成SSRF的,然后发现可以用如下绕过~
http://p1.meituan.net.xxxxxxxxxxxxxxxx.xxxxxxxxxxxx

然后去我的CEYE去看下~

可以看到他这里是有去请求的,那么还可以利用CEYE的DNS Rebinding使其去访问一个ip(比较麻烦),所以这里用另一种方法来使其访问随意一个ip
http://p1.meituan.net.183.232.231.172.xip.io/
这里的183.232.231.172是我ping百度的ip,然后我打开一下看看~

然后放入请求中是可以正常访问的,如图

那么再测试一个无法访问的ip试试

可以看到返回的是504而且请求时间非常的长~ 那么来探测一下内网


127.0.0.1没开放
192.168.0.1开放~
