SSRF (服务端请求伪造)
1. SSRF是什么
SSRF, (Server-side Request Forge, 服务端请求伪造) 是一种由攻击者构造形成的一种由服务端发起请求的一个漏洞。一般情况下, SSRF的攻击目标是从外网无法访问的内网系统。正因为它是由服务端发起的, 它能够请求到与它相连而与外网相隔离的内部系统。
通俗理解一点就是, A雇佣了一个刺客B去解决某人C。
2. 漏洞的产生
由于服务端提供了从其他服务器应用获取数据的功能且没有对地址和协议等做过滤和限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。允许用户使用自定义的url加载图片、下载等, 且没有对目标地址做过滤和限制, 这就造成了漏洞的产生。
典型的例子就是, 百度识图:
在输入一个图片的url时, 如果不进行过滤和限制的话, 就可能造成SSRF。
3. 危害
1)、可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息; ( 端口的Banner会回显出来)
2)、攻击运行在内网或本地的应用程序(比如溢出);
3)、对内网Web应用进行指纹识别,通过访问默认文件实现;
4)、攻击内外网的Web应用,主要是使用Get参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等);
5)、利用File协议读取本地文件。
6)、DOS攻击(请求大文件,始终保持连接Keep-Alive Always)
4. 漏洞出现点
1)通过URL地址分享网页内容; 从URL关键字中寻找
2)转码服务
3)在线翻译
4)通过URL地址加载或下载图片
5)图片、文章收藏功能
6)未公开的api实现以及其他调用URL的功能
5. 实战
6. 防范
(待更新...)