SSRF简介

SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统,正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统。

SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。

SSRF常见危害

  1. 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的Banner信息等

  2. 攻击运行在内网或本地的应用程序

  3. 对内网Web应用进行指纹识别,通过访问默认文件实现( 如Readme等文件)

  4. 攻击内外网的Web应用,主要是使用GET就可以实现的攻击(比如Struts2,SQLI等)

  5. 利用File协议读取本地文件等

SSRF常见应用场景

  • 在线翻译
  • 图片加载与下载
  • 图片、文章收藏功能
  • 未公开的API实现以及其他调用URL的功能等

SSRF常见绕过技巧

  • 利用@符号
  • 利用localhost
  • 利用短地址
  • 利用特殊域名
  • 利用DNS解析
  • 利用Enclosed Alphanumerics
  • 利用进制转换
  • 其他协议绕过