一、概述
SSRF(Server-Side Request Forgery,服务端请求伪造),是攻击者让服务端发起构造的指定请求链接造成的漏洞。由于存在防火墙的防护,导致攻击者无法直接入侵内网;这时攻击者可以以服务器为跳板发起一些网络请求,从而攻击内网的应用及获取内网数据。
二、成因
由于服务端提供了从其它服务器获取数据的功能,比如使用户从指定的URL web应用获取图片、下载文件、读取文件内容等。
但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发送请求,并返回对该目标地址请求的数据。
最常见的例子:攻击者传入一个未经验证的URL,后端代码直接请求这个URL,就会造成SSRF漏洞。
三、SSRF漏洞危害:
扫内网
向内部任意主机的任意端口发送精心构造的Payload
DOS攻击(请求大文件,始终保持连接Keep-Alive Always)
攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如struts2,sqli等)
利用file协议读取本地文件等
四、SSRF漏洞利用
1、文件访问
?url=http://www.baidu.com
?url=http://www.baidu.com/img/bd_logo.png
?url=http://www.baidu.com/robots.txt
2、端口扫描
?url=http://127.0.0.1:80
?url=http://127.0.0.1:3306
?url=dict://127.0.0.1:3306
?url=http://10.10.10.1:22
?url=http://10.10.10.1:6379
3、读取本地文件
?url=file:///c:/windows/system32/drivers/etc/hosts
?url=file:///etc/passwd
?url=file:/c:/www/ssrf/ssrf_curl.php
4、内网应用指纹识别
<Directory "c:\phpstudy_2016\www\phpMyAdmin">
#Order allow,deny
Order deny,allow
deny from all # 拒绝所有
allow from 127.0.0.1 # 只允许本机
</Directory>
修改httpd_config配置文件,配置完后在内网中可以访问到phpMyAdmin
?url=http://127.0.0.1/phpmyadmin/readme
查看phpMyAdmin版本
5、攻击内网Web应用
通过SSRF可以实现对内网的访问,从而可以攻击内网应用
五、SSRF防御
1、过滤输入
- 限制协议,仅允许 http 或 https 协议。
- 限制IP,避免应用被用来获取内网数据,攻击内网。
- 限制端口,限制请求端口为常用端口。
2、过滤输出
- 过滤返回信息,只要不符合要求的,全部过滤。
- 统一错误信息,让攻击无法对内网信息进行判断。
3、内部网络隔离
- 将服务器与内部资源隔离开,并使用防火墙等措施限制对内部网络的访问。
4、授权验证和访问控制
- 实施严格的授权验证和访问控制机制,确保仅授权用户可以访问受限资源。
5、安全编码实践
- 开发人员应遵循安全编码指南,进行输入验证和输出编码,以减少漏洞发生的可能性。
可能出现的地方
1.社交分享功能:获取超链接的标题等内容进行显示
2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.在线翻译:给网址翻译对应网页的内容
4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
8.数据库内置功能:数据库的比如mongodb的copyDatabase函数
9.邮件系统:比如接收邮件服务器地址
10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞
一些的url中的关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……
12.从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)
了解SSRF漏洞,这一篇就足够了......-CSDN博客 这里面写的很全,我有一部分是从里面CV的
标签:http,请求,SSRF,url,URL,攻击者,伪造,服务端 From: https://blog.csdn.net/ALe0721/article/details/144648261