[关闭]
@1kbfree 2019-01-21T14:41:29.000000Z 字数 1220 阅读 1305

SSRF漏洞介绍

基础


什么是SSRF漏洞

SSRF(服务端请求伪造),由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)

简单来说,就是你可以操作目标网站的服务器访问指定的一个链接,所以就可以导致让服务器探测内网。

有回显的SSRF

  1. <?php
  2. // 创建一个新cURL资源
  3. $ch = curl_init();
  4. // 设置URL和相应的选项
  5. curl_setopt($ch, CURLOPT_URL, $_GET['url']);
  6. curl_setopt($ch, CURLOPT_HEADER, false);
  7. // 抓取URL并把它传递给浏览器
  8. curl_exec($ch);
  9. //关闭cURL资源,并且释放系统资源
  10. curl_close($ch);

然后访问如下链接,就可以实现操作我服务器请求url

  1. http://127.0.0.1/ssrf.php?url=http://www.baidu.com

image.png-42.5kB

然后可以看到这里展示了http://www.baidu.com的内容(html),那么这个就叫做有回显的ssrf漏洞。那么我们就可以利用这个漏洞来探测内网信息,这里普及一下

SSRF漏洞探测内网信息,也就是可以探测存活的ip,比如我这台机子内网开放了192.168.8.1这个ip,那么你们内网肯定是没办法访问的,所以只能操作目标服务器去探测目标的内网ip

那么这里来利用上面的代码来跑一下我的内网信息。

  1. http://127.0.0.1/ssrf.php?url=file:///C:/Users/19000/Desktop/1.txt

1.png-22.5kB

file协议介绍:

SSRF漏洞案例

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

1.png-174.4kB

然后我猜想这里的处理流程是这样的:

  1. 上传文件后返回包返回一个Url
  2. 然后上图那个请求把一部的Url去访问并且使其成为图片地址(应该是读取Url然后把它内容写入~)

那么以上流程如果Url没有严格过滤的话是会造成SSRF的,然后发现可以用如下绕过~

  1. http://p1.meituan.net.xxxxxxxxxxxxxxxx.xxxxxxxxxxxx

1.png-147.9kB

然后去我的CEYE去看下~

1.png-104.9kB

可以看到他这里是有去请求的,那么还可以利用CEYEDNS Rebinding使其去访问一个ip(比较麻烦),所以这里用另一种方法来使其访问随意一个ip

  1. http://p1.meituan.net.183.232.231.172.xip.io/

这里的183.232.231.172是我ping百度的ip,然后我打开一下看看~

1.png-32.9kB

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

1.png-146.6kB

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

1.png-170.1kB

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

1.png-131.4kB

1.png-110.9kB

127.0.0.1没开放
192.168.0.1开放~

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注