SSRF漏洞介绍:
SSRF漏洞(服务器端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)。
SSRF漏洞原理:
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。利用的是服务端的请求伪造。SSRF是利用存在缺陷的web应用作为代理攻击远程和本地的服务器。
SSRF漏洞利用手段:
1.可以对外网、内网、本地进行端口扫描,某些情况下端口的Banner会回显出来(比如3306的);
2.攻击运行在内网或本地的有漏洞程序(比如溢出);
3.可以对内网Web应用进行指纹识别,原理是通过请求默认的文件得到特定的指纹;
4.攻击内网或外网有漏洞的Web应用;
5.使用file:///协议读取本地文件(或其他协议)
http://www.xingkonglangzi.com/ssrf.php?url=192.168.1.10:3306
http://www.xingkonglangzi.com/ssrf.php?url=file:///c:/windows/win.ini
SSRF漏洞出现点:
1.分享:通过URL地址分享网页内容
2.转码服务(通过URL地址把原地址的网页内容调优,使其适合手机屏幕的浏览)
3.在线翻译
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
6.未公开的api实现及调用URL的功能
7.从URL关键字中寻找
SSRF漏洞绕过方法:
1.@ http://abc.com@127.0.0.1
2.添加端口号 http://127.0.0.1:8080
3.短地址 https://0x9.me/cuGfD
4.可以指向任意ip的域名 xip.io
5.ip地址转换成进制来访问 192.168.0.1=3232235521(十进制)
6.非HTTP协议
7.DNS Rebinding
SSRF漏洞绕过方法:
1.基本判断(排除法)
如:http://www.douban.com/***/service?image=http://www.baidu.com/img/bd_logo1.png
排除法一:直接右键图片,在新窗口打开图片,如果是浏览器上URL地址栏是http://www.baidu.com/img/bd_logo1.png,说明不存在SSRF漏洞。
排除法二:使用burpsuite等抓包工具来判断是否不是SSRF,首先SSRF是由服务端发起的请求,因此在加载图片的时候,是由服务端发起的,所以在我们本地浏览器的请求中就不应该存在图片的请求,如果刷新当前页面,有如下请求,则可判断不是SSRF。(前提设置burpsuite截断图片的请求,默认是放行的)
SSRF漏洞图片分享:
SSRF漏洞的修复建议:
1.限制请求的端口只能为web端口,只允许访问HTTP和HTTPS请求。
2.限制不能访问内网的IP,以防止对内网进行攻击。
3.屏蔽返回的详细信息。