SSRF原理、漏洞利用、漏洞检测、绕过、漏洞修复。
一、SSRF简介
1 | SSRF(Server-Side Request Forgery:服务器端请求伪造) |
二、SSRF常见用途(实战中常用来打内网):
- 内外网的端口和服务扫描
- 主机本地敏感数据的读取
- 内外网主机应用程序漏洞的利用
- 内外网 Web 站点漏洞的利用
三、SSRF 常见位置:
- 分享:通过 URL 地址分享网页内容
- 转码服务
- 在线翻译
- 图片加载与下载:通过 URL 地址加载或下载图片
- 图片、文章收藏功能
- 未公开的 api 实现以及其他调用 URL 的功能
- 从 URL 关键字中寻找
1 | 常见的 URL 关键字:(不限于这些) |
四、pikachu靶场搭建:
1 | ①rz上传压缩包到centos |
五、SSRF漏洞利用之端口扫描(http/ftp/dict协议):
1 | 1、点击靶场中的SSRF下的SSRF(curl)。 |
六、SSRF漏洞利用之任意文件读取(file://+文件路径):
1 | ROOT权限下可查看用户密码:cat /etc/shadow |
七、SSRF-gopher 协议扩展利用-向内网发起 GET/POST 请求
1、Gopher 简介
1 | Gopher 在 HTTP 协议前是非常有名的信息查找系统, |
2、语法演示:gopher://192.168.100.21:4444/_abcd
1 | gopher://192.168.100.21:4444/_abcd |
3、Gopher 发送 GET 请求(二次编码)
1 | Gopher协议对内网 Web 服务进行 sql 注入 GET 类型: |
4、Gopher 发送 POST 请求
1 | Gopher 对内网 Web 服务进行 sql 注入 POST 类型 |
八、利用SSRF漏洞打内网获取shell:
1 | 1、kali终端创建监听: |
九、SSRF 漏洞检测方法
方法一:结合在线测试平台进行测试:
1 | 例如要测试一个网站(靶场)是否存在SSRF漏洞,步骤如下: |
方法二:使用专业版的BP_pro的 Burp Collaborator 客户端(kali上的没有)进行检测:
1 | ①点击BP左上角的Burp按钮,点击Burp Collaborator 客户端。 |
十、SSRF绕过技巧:
1 | 1、编码绕过:比如发起SQL注入请求,需对SQL语句进行URL编码,有时需要进行两次编码。 |
十一、漏洞修复
1 | 1.禁止跳转 |
本文作者:
kur08a
本文链接: https://kur08a.github.io/2022/06/13/SSRF/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://kur08a.github.io/2022/06/13/SSRF/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
![知识共享许可协议](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)