SSRF漏洞
-
什么是SSRF漏洞
SSRF(服务器端请求伪造):是一种攻击者构造形成由服务端发起请求的漏洞。SSRF的目标主要是网站的内部系统(如:内网,内部主机)。 -
为什么会存在SSRF漏洞
服务器端提供了其他服务器应用获取数据的功能但是并没有对目标地址进行过滤和限制 -
SSRF危害
- 对目标服务器所在内网进行IP存活和端口扫描
- 对内网web应用进行指纹识别
- 绕过安全防御,如,防火墙,CDN。
- 使用特定的伪协议读取本地文件,获取敏感数据
协议
gopher协议,对目标分发起主要攻击的协议,格式gopher://xxxxx:port/主体
主体需进行url二次编码
dict协议 ,探测端口,版本信息 ,格式dict://xxxx:port/info
file协议,在有回显的情况下可以读取本地文件file://绝对路径
- 挖掘SSRF漏洞的方法
- 通过URL地址分享网页,如果在分享title标签和文本内容的过程中,没有对目标地址的范围进行过滤和限制就存在SSRF漏洞
- 转码服务,通过URL地址把原地址网页内容调节为适应其他显示设备浏览
- 在线翻译,URL地址翻译对应的文本内容
- 图片加载与下载,通过URL地址加载或者下载图片,
- 图片,文章的收藏
- 未公开的api实现以及其他调用URL功能
- URL关键字,通过google语法与关键字结合寻找SSRF漏洞share,wap,url,link,src,source,target,u,3g,display,sourceURI,imageURL,imageURL,domain
-
判断是否存在SSRF漏洞
通过抓包来分析发送请求是否由客户端发送从而确认是否为SSRF漏洞,也可以通过观察网页源代码判断。 -
SSRF之绕过方法
- ip地址转换过滤,将ip地址转换为其他进制的格式进行绕过
- URL解析过滤,利用@,或者localhost
- 302跳转
存在一个神奇的域名http://xip.io
(有墙),假设,127.0.0.1.xip.io
会重新定向到127.0.0.1
在大多数情况下,ip地址会被过滤掉,我们可以通过短地址的方式来进行绕过https://tinyurl.com/app/
4 DNS重绑定
DNS也被称为域名系统,其可以用于隐藏真实IP,将真实IP以另一种域名的方式展示,如39.156.66.14
为百度的真实IP,但是我们通常使用www.baidu.com进行
访问。、
而DNS重绑定就是域名的所有者,重新设置一个新的域名对其进行访问,因为对于浏览器而言,访问过程用的都是同一域名,所以默认为安全,允许进行访问,也因此造成了DNS重绑定攻击。好哥哥提供的好用工具详细请搜索Senimo_
- SSRF漏洞的防范
1 禁止跳转
2 禁用一些协议
3 过滤返回信息
4 限制请求端口,如80.8080
5 使用白名单或者dns缓存