SSRF漏洞

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSRF漏洞相关的知识,希望对你有一定的参考价值。

参考技术A

  最近给业务测试,发现了SSRF(服务器请求伪造攻击)漏洞,这里简单给大家做个介绍。

  SSRF漏洞是由于服务器执行了攻击者控制的协议请求。假设攻击者在前端输入 http://www.baidu.com?u=file:///etc/passwd ,服务器执行了file:///etc/passwd。这里的协议请求是file协议,当然也可以是http、https等协议。
   SSRF漏洞 任意URL跳转漏洞 的区别在于SSRF是服务器去执行攻击者控制的参数,而任意URL跳转漏洞是由于客户端去执行控制参数。

   需要拉去或上传数据到其它服务器的地方
如:

1 获取服务器信息
2 探测内网
3 攻击跳板

我发现的漏洞是拉去头像信息时,会去另外一台服务上去拉去图片,比较2者URL不同,从而发现了漏洞,限于公司机密,这里介绍乌云案例
乌云案例

1 避免从前端输入参数最好
2 次之使用白名单的方式限定
3 禁止使用其它协议,只运行使用http和https协议

ssrf 漏洞

SSRF 原理(服务器请求伪造) 中间人攻击

	是一种由web服务器发出请求的漏洞,它能够请求到与
	它相连的内网资源(与外网隔离的内部系统).因此SSRF
	主要测试目标是企业的内网系统。
	很多web应用提供从其他服务器获取数据的功能,可以根据
	用户提交URL访问对应资源(获取图片,下载文件,读取内容)
	如果该功能作为代理通道去访问本地或远程服务器,这就是所谓
	的SSRF。

SSRF的强大和成功几率由函数本身功能决定

		即代码中是什么函数其功能有多强大,那么存在SSRF漏洞的话,
漏洞利用的概率和影响力就有多大。比如下面的两个函数
curl_init、file_get_contents:
一个能达到执行脚本的地步,一个能达到读文件的地步。

ssrf可利用的用途

	1.对内网进行信息探测  端口扫描
	2.对内网服务器进行漏洞扫描利用
	3.对内网web应用进行安全测试,例如structs sql注入漏洞利用
	4.对内网中的文件读取(file协议)
	5.在PHP环境中,如果搭建expect扩展,可能被命令执行.

ssrf防范方法

		过滤 私有地址
		过滤file://  dict://  gopher://  ftp://    http://  https://    php://
		白名单过滤
		对返回的内容进行识别

以上是关于SSRF漏洞的主要内容,如果未能解决你的问题,请参考以下文章

SRC挖洞之SSRF与XXE漏洞的实战案例

Web常规漏洞SSRF服务端请求伪造漏洞

Web漏洞-SSRF漏洞(详细)

SSRF漏洞简单分析

SSRF漏洞,绕过,实战化演示

数仓安全测试之SSRF漏洞