SSRF漏洞

前言

作者简介:不知名白帽,网络安全学习者。

博客主页:不知名白帽的博客_CSDN博客-网络安全,CTF,内网渗透领域博主

网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan

目录

SSRF漏洞原理

产生CSRF的函数

SSRF中常见手法

File协议

Dict协议

Sftp协议

http协议

Tftp协议

SSRF绕过

常见的限制

绕过

SSRF防御


SSRF漏洞原理

SSRF漏洞形成的原因是应用程序存在可以从其他服务器获取数据的功能,但是服务器的地址并没有做严格的过滤,导致应用程序可以访问任意的URL链接,攻击者通过精心构造URL链接,进行一下攻击:

  1. 可以通过服务器获取内网主机、端口和banner信息
  2. 对内网的应用程序进行攻击
  3. 利用file协议读取文件
  4. 可以攻击内网程序造成溢出

产生CSRF的函数

  1. file_get_contents
  2. fsockopen
  3. curl_exec

SSRF中常见手法

使用pikachu的SSRF(CURE)练习

File协议

file:///文件路径

可以查看本地文件

 

查看重要文件/etc/passwd或者windows/win.ini

 

Dict协议

dict://ip:port

可以查看开放端口

 

Sftp协议

sftp://攻击机ip:port

SSH文件传输协议或安全文件传输协议

 

 

http协议

http://

可以用来访问内网资源

 

可以判断常见端口

 

Tftp协议

tftp://

简单文件传输协议,允许客户端从远程主机获取文件或将文件上传至远程主机

 

 

SSRF绕过

常见的限制

  1. 限制为http://www.xxx.com 域
  2. 限制请求IP不为内网地址
  3. 限制请求只为http协

绕过

  1. 限制为http://www.xxx.com 域名时(利用@)
  2. 采用短网址绕过
  3. 采用进制转换

SSRF防御

  1. ,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法
  2. 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态
  3. 限制请求的端口为http常用的端口
  4. 黑名单内网ip
  5. 禁用不需要的协议。仅仅允许http和https请求