背景
在一次内部安全月审查过程中,某业务内部查出有ssrf漏洞,通过伪造url路径,可以看到暴露内网ip,存在较高安全隐患。
原理
SSRF漏洞属于前端漏洞的一种,造成危害的要素是:攻击者可参与构造(多以传入参数的形式)服务器所对外发送请求的内容(如协议、地址、路径、参数等)。因此SSRF漏洞的防御和修复主要以此出发点消除威胁,需要注意的是:不管系统是否对获取内容进行了展示,攻击者能利用服务器发送超出原本功能预期的对内网系统的请求包(简化理解为 攻击者可对内网系统发送任意内容时),SSRF漏洞即存在且能造成安全风险。
常见场景
- 分享链接
- 图片、文件下载
- 收藏
- 翻译链接
关键字:
share、wap、url、link、src、source、target
u、display、sourceURl、imageURL、domain、filepath
SSRF的危害
1 获取服务器信息
2 探测内网
3 攻击跳板
修复指引
漏洞修复方案有以下三种,请根据业务场景选择其中合适的一种进行修复:
- 添加白名单,校验外部传入的域名是否在白名单:过滤域名不属于白名单的请求。
- 校验外部传入的域名是否恶意(内网域名或IP):将域名DNS解析得到IP,过滤IP为内网段的请求,通过校验的域名送入下载函数,下载函数绑定校验时得到IP,关闭跟进跳转。
- 物理隔离下载代理:设置下载函数使用下载代理进行下载服务,对下载代理服务器使用工具限制服务器对内网发送请求,或使用云服务器作为下载代理。
安全建议
对于伪造url的场景,采用白名单限制可以较快修复该漏洞。