SSRF漏洞
1. 原理
SSRF即服务器请求伪造,是一种由攻击者构造请求,由服务端发起请求的安全漏洞。一般情况下,SSRF攻击的目标是外网无法f的内部系统。(正因为请求是服务端发起的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。而SSRF的形成大多由于服务器提供了从其他服务器应用获取数据的功能,而没有对目标地址做过滤和限制。
2.漏洞利用
# 对外网、服务器所在的内网、本地进行端口扫描,获取一些服务的banner信息。
# 攻击运行在内网或本地的应用程序。
# 对内网进行指纹识别,识别企业内部的资产信息。
# 攻击内外网的Web应用,主要是使用HTTP GET请求就可以实现的攻击
# 利用file协议读取本地文件等。
3.漏洞点
# 分享:通过URL地址分享网页的内容
# 转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
# 在线翻译:通过URL地址翻译对应的文本内容。
# 图片的加载与下载:通过URL地址加载或下载图片
# 图片、文章收藏功能
# 未公开的api实现以及其他调用URL的功能
# 关键字
share、wap、url、link、src、source、target、u、3g、display、sourceURI、imageURL、domain
# 以下业务场景容易出现这种漏洞
应用从用户指定的url获取图片。然后把它用一个随即文件名保存在硬盘上,并展示给用户
应用获取用户指定url的数据(文件或者html).这个函数会使用socket跟服务器建立tcp连接,传输原始数据
应用根据用户提供的URL,抓取用户的web站点,并且自动生成移动wap站
应用提供测速功能,能够根据用户提供的url,访问目标站点,以获取其在经纬度的访问速度。
3.防御
# 限制请求的端口号只能为Web端口,只允许访问HTTP和HTTPS的请求
# 限制不能访问内网的IP,以防止对内网进行攻击
# 屏蔽返回的详细信息