1.什么是SSRF?
服务端请求伪造攻击(Server-side Request Forgery)。是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)。
打个比方,就是攻击者问你(web服务器)你朋友(内网)的手机号(一般外网无权访问的文件),他自己去问肯定不容易要到,但通过你这里去要,就变得轻而易举了。
2.SSRF如何实现?
很多web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地的服务器。比如百度识图这种可以引入其他服务器的资源的web应用,如果自身不做好过滤和防护,那么极有可能作为跳板被用于攻击远程和本地的服务器
3.从ssrf触发点看如何挖掘ssrf漏洞
3.1 ssrf触发点
这个漏洞的触发点在一个能传入其他服务器资源让web服务器进行资源申请(去访问传入的url地址并请求文件)。
3.2 漏洞常见出没位置
分享位置,可以通过URL地址分享网页内容
转码服务
在线翻译
图片加载与下载:通过URL地址加载或下载
图片,文章收藏功能
未公布的api(接口或者叫插件)实现以及其他调用URL的功能
从URL关键字中寻找。如:
share/wap/url/link/src/source/target/u/3g/display/sourceURL/imageURL/domain等
3.3 漏洞验证
3.3.1
由于ssrf的攻击方式是构造伪造服务器请求的安全漏洞,所以我们就可以通过抓包分析发送的请求是否是由服务器发送的来判断是否存在ssrf漏洞。
3.3.2
通过源码,查看请求资源的方式,如果这个资源是服务器请求过来的如:http://www.xxx.com/a.php?image=(地址),这种形式就有可能出现SSRF漏洞。
4.ssrf经典案例分析
百度某处SSRF可漫游内网
漏洞在站长工具-移动专区-移动友好度里面
http://zhanzhang.baidu.com/mf/index?site=http://baidu.com
点击“一键检测”,就会在他们的移动终端浏览器访问且截图返回给你
虽然他在这里对网址做了一点限制
这里攻击者在自己的公网网站上放一个文件 嵌入一个百度的内网地址 再检测访问这个文件。
以上都是用这个方法访问到的二级域名,比如emp01.baidu.com这种同一内网的其他网站。
通过UA(浏览器类型)得知是ios8系统,
结合之前的iphone浏览器漏洞,就可以导致这台服务器终端注销,拒绝服务。
这就是一个典型的ssrf通过服务器请求自身所在网段的其他信息,造成的漏洞。
5.总结
ssrf说到底就是用服务器自身的请求客户想要的其他地方的资源的功能,来请求自身内网资源,越过了客户这一层,也可以算是一种逻辑漏洞。