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漏洞的主要内容,如果未能解决你的问题,请参考以下文章