SSRF-know

 · 2020-4-29 · 次阅读


注:本文均为对乌云猪猪侠的PPT学习。

What is the SSRF?

利用一个可以发起网络请求的服务,当做跳板来攻击其他服务。
例子:通过Web interface请求受保护网络内的资源。

what can the SSRF do?

下面这张图很形象描述了其为穿越网络防火墙的通行证:
through_fiwall

防火墙不仅仅是穿越防火墙的通行证,利用它我们可以:

  • 扫描内部网络
  • 向内部任意主机的任意端口发送精心构造的数据包 {payload}
  • DOS(请求大文件,始终保持连接Keep-Alive ALways)
  • 暴力穷举 (users/dirs/files)

但SSRF也不能完全被利用以下两种情况,SSRF会被阻碍:

  • 服务端开启OpenSSL无法进行交互利用
  • 服务端需要鉴权信息(Cookies & User:Pass)不能完美利用。

在服务端开启OpenSSL后,当我们使用SSRF进行访问时候,还必须的按照其规则发送数据,也就是需要将证书加密,并按照规则发送数据,必须得校验数据通过,才可允许访问。

而需要鉴权信息的服务器需要我们使用正确的User身份标识,例如cookies.

How can we find the SSRF?

  • 能够对外发起网络请求的地方,就可能存在SSRF
  • 从远程服务器请求资源(Upload from URL,Import & EXport RSS feed)
  • 数据库内置功能(Oracle、MongoDB、MSSQL、Postgres、CouchDB)
  • Webmail收取其他邮箱邮件(POP3/IMAP/SMTP)
  • 文件处理、编码处理,属性信息处理(ffpmg,imageMaic,DOCX,PDF,XML处理器)

How to use the SSRF?

  • 漏洞利用的条件
    需成功发送针对目标服务漏洞的数据包{payload}
  • 漏洞利用遇到限制如何绕过?
    IP限制绕过(xip.io、十进制IP、八进制IP)
    协议限制绕过(Redirect、CRLF header injection)
    调用系统支持的协议和方法(Protocols & Wrappers)