KNOW IT, 什么是SSRF?

定义:

SSRF漏洞,中文全称为服务端请求伪造漏洞,是一种由攻击者构造一定的利用代码导致服务端发起漏洞利用请求的安全漏洞。一般情况下,SSRF攻击的应用是无法通过外网访问的,所以需要借助目标服务端进行发起,目标服务器可以链接内网和外网,攻击者便可以通过目标主机攻击内网应用。

简而言之就是:
利用一个可以发起网络请求的服务,当作跳板来攻击其他服务。

常见例子:
通过Web Interface请求受保护网络内的资源。
imgSSRF漏洞原理图

由于业务需要,服务端程序需要从其他服务器应用中获取数据,例如获取图片、数据等,但是由于服务器没有对其请求的目标地址做过滤和限制,导致黑客可以利用此缺陷请求任意服务器资源,其中就包含隐匿在内网的应用。很多企业认为服务器在内网不会受到黑客攻击,便放任漏洞不管,不做补丁修复和版本升级,弱口令遍布内网。但是在SSRF漏洞面前这些漏洞都会成为黑客的“盘中餐”。 SSRF漏洞一般为HTTP/HTTPS方式出现,但类似TCP Connect方式也可以探测内网的IP活跃状态和端口的开放情况,但此类危害较小。

SSRF漏洞出现的位置

  • 服务器主动发起网络请求,例如HTTP/HTTPS/Socket
  • 分享功能,通过URL分享网页内容。
  • 图片加载、下载功能
  • 邮件系统
  • api远程调用
  • 只要是服务器可以主动发起网络请求便可能出现

SSRF漏洞的危害

  1. 对目标服务器所在的内网进行IP存活性扫描和端口扫描
  2. 利用扫描的指纹信息判断开放的服务,从而对内网的主机进行攻击
  3. 识别内网WEB应用指纹,判断应用类型进行攻击
  4. 使用特定协议攻击应用(gopher、dict、file、FTP/SFTP等)