SSRF
👉 课件 PDF:SSRF&XXE&远程代码执行
简介
服务端请求伪造(SSRF,Server-Side Request Forgery),由攻击者造成,在服务器发起请求的漏洞。
原理
原理是服务端本身发起了请求,但是没有对该请求做合理的过滤和校验。
危害
1️⃣ 扫描内网开放服务
2️⃣ 向内网任意主机的任意端口发送 payload 来进行攻击内网服务
3️⃣ DOS 攻击(比如请求大文件、Keep-Alive Always)
4️⃣ 利用内网的 Web 应用,执行 SQL 注入、XSS 攻击等
5️⃣ 利用 file、gopher、dict 协议读取本地文件、执行命令等
检测与绕过
漏洞检测
假设有一个场景,某网站支持在线加载功能,把指定的一张远程图片下载到本地:
http://www.xxx.com/image.php?image=http://www.xxc.com/a.jpg
服务端大致步骤:
👍 用户输入地址
✌️ 服务端接受请求
🤟 根据请求参数下载远程图片
👊 将图片发送给前端
这里潜在的漏洞点是用户输入的地址:
# 使用回环地址
http://www.xxx.com/image.php?image=http://127.0.0.1:22
# 使用不同协议
http://www.xxx.com/image.php?image=file:///etc/passwd
http://www.xxx.com/image.php?image=dict://127.0.0.1:22/data:data2 (dict可以向服务端
口请求data data2)
http://www.xxx.com/image.php?image=gopher://127.0.0.1:2233/_test (向2233端口发送数
据test,同样可以发送POST请求)
.....
漏洞出现点
🎯 分享