一、什么是ssrf漏洞
SSRF(service side request forgery) 为服务器请求伪造,是一种右攻击者形成服务器端发起的安全漏洞。
二、造成ssrf的原因
有些web网站会提供从其他服务器上传数据的功能,会使用用户指定的url获取数据。由于对远程的url没有进行严格的过滤,所以攻击者可以通过该漏洞控制该web网站作为代理服务器攻击远程服务器或者该web的本地服务器。
三、ssrf漏洞的危害
- 可以对内网,本地进行端口扫描,查看端口的关闭状态;
- 攻击运行在内网或者本地的应用程序;
- 对内网应用程序做指纹识别;
- 利用协议获取本地的文件;
四、挖ssrf漏洞
1.由于ssrf漏洞的产生原理是web服务器向其他远程服务器获取相关的数据从而产生的。
2.ssrf漏洞可能存在的场景
- 分享,通过URL地址分享网页内容,通过URL获取目标页标签等内容
- 转码服务,适应硬件设备的大小;
- 图片的加载与下载
- 图片,文章的收藏;
3.通过url地址分享网页内容
3.1首先当我们点击该连接时,观察url位置,会发现http协议,此时可能存在漏洞。
3.2输入http://www.baidu.com进行验证;
发现可以成功访问
3.3 尝试读取本地d盘的文件
3.4 此时可以输入端口进行探测
3.4.1 输入3306 端口,返回信息,说明端口开了
3.4.2 输入8080端口 发现尝试连接了一会并没有返回信息,说明端口没有开
3.4.3 输入135 端口 发现一致转圈,说明一致在请求连接,说明端口开了
3.5 后端使用了file_get_content()函数
3.5.1 读取网页后端源代码以base64编码的方式
http://localhost/pikachu/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-encode/resource=ssrf.php
3.5.2 测试端口是否打开
端口打开: 会一直转圈尝试连接
端口关闭:
3.6 转码服务
转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.7 在线翻译:
在线翻译:通过URL地址翻译对应文本的内容。提供此功能的百度、有道等。
3.8 图片下载
图片加载与下载:通过URL地址加载或下载图片图片加载远程图片地址此功能用到的地方很多,但大多都是比较隐秘,比如在有些公司中的加载自家 图片服务器上的图片用于展示。(此处可能会有人有疑问,为什么加载图片服务器上的图片也会有问题, 直接使用img标签不就好了,没错是这样,但是开发者为了有更好的用户体验通常对图片做些微小调整例 如加水印、压缩等,就必须要把图片下载到服务器的本地,所以就可能造成SSRF问题)。
3.9 url编码中一些关键字
share、wap、url、link、src、source、 target、u、3g、display、sourcellRL、imageURL、domain
3.10 Weblogic(wbe中间件)配置不当,天生ssrf漏洞
五、如何绕过编码检测
1.url地址格式改写: 增加干扰(@前面的是账号密码)
访问的是一个地址。
六、如何防御ssrf漏洞
1.统一错误信息
2.限制请求端口
3.黑名单内网IP
4.禁用不需要的协议
版权归原作者 一句话木马 所有, 如有侵权,请联系我们删除。