前言
作者简介:不知名白帽,网络安全学习者。
博客主页:不知名白帽的博客_CSDN博客-网络安全,CTF,内网渗透领域博主
网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan
目录
SSRF漏洞原理
产生CSRF的函数
SSRF中常见手法
File协议
Dict协议
Sftp协议
http协议
Tftp协议
SSRF绕过
常见的限制
绕过
SSRF防御
SSRF漏洞原理
SSRF漏洞形成的原因是应用程序存在可以从其他服务器获取数据的功能,但是服务器的地址并没有做严格的过滤,导致应用程序可以访问任意的URL链接,攻击者通过精心构造URL链接,进行一下攻击:
- 可以通过服务器获取内网主机、端口和banner信息
- 对内网的应用程序进行攻击
- 利用file协议读取文件
- 可以攻击内网程序造成溢出
产生CSRF的函数
- file_get_contents
- fsockopen
- 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绕过
常见的限制
- 限制为http://www.xxx.com 域
- 限制请求IP不为内网地址
- 限制请求只为http协
绕过
- 限制为http://www.xxx.com 域名时(利用@)
- 采用短网址绕过
- 采用进制转换
SSRF防御
- ,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法
- 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态
- 限制请求的端口为http常用的端口
- 黑名单内网ip
- 禁用不需要的协议。仅仅允许http和https请求