0x00 什么是SSRF?
SSRF即服务端请求伪造,从字面意思上理解就是伪造一个服务端请求,也即是说攻击者伪造服务端的请求发起攻击,攻击者借由服务端为跳板来攻击目标系统。
0x01 SSRF的危害
-
内外网的端口和服务扫描探针 -
攻击运行在内网或本地的应用程序 -
对内网web应用进行指纹识别,识别企业内部的资产信息 -
利用file协议读取本地敏感数据文件等
0x02 SSRF的多种绕过方式
1.@符号绕过:
http://[email protected]/
在某地址1后添加@再次添加地址2,浏览器会自动返回地址2数据
2.IP地址转换:
对内网请求的IP地址进行各进制的编码例如:120.26.86.156
二进制 = 1111000000110100101011010011100
十六进制 = 0x781A569C
十进制 = 2014992028
3.转换短网址:
https://www.985.so/
例:http://www.kxsy.work/ = http://u6.gg/ks69x
4.特殊符号替换绕过:
例:
http://www.kxsy.work/ = http://www。kxsy。work/
localhost或者0.0.0.0
5.302跳转绕过:
<?php
$schema = $_GET['s'];
$ip = $_GET['i'];
$port = $_GET['p'];
$query = $_GET['q'];
if(empty($port)){
header("Location: $schema://$ip/$query");
} else {
header("Location: $schema://$ip:$port/$query");
}
6.xip.io绕过:会将解析到子域
http://10.0.0.1.xip.io = 10.0.0.1
www.10.0.0.1.xip.io= 10.0.0.1
http://mysite.10.0.0.1.xip.io = 10.0.0.1
foo.http://bar.10.0.0.1.xip.io = 10.0.0.1
10.0.0.1.xip.name resolves to 10.0.0.1
www.10.0.0.2.xip.name resolves to 10.0.0.2
foo.10.0.0.3.xip.name resolves to 10.0.0.3
bar.baz.10.0.0.4.xip.name resolves to 10.0.0.4
7.利用Enclosed alphanumerics绕过:
利用Enclosed alphanumerics
ⓔⓧⓐⓜⓟⓛⓔ.ⓒⓞⓜ >>> http://example.com
List:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵ Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴ ⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⓿
8.其他协议绕过 :
配合File、GOPHER协议等协议的对目标进行信息探测
0x03 SSRF的防御手段
1、过滤返回的信息 2、自定义端口的错误页面,避免被区分 3、限制端口请求 4、限制协议等 5、URL白名单访问资源
关注及时推送最新安全威胁资讯!
「由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,EXP 与 POC 仅仅只供对已授权的目标使用测试,对未授权目标的测试本文库不承担责任,均由本人自行承担。本文库中的漏洞均为公开的漏洞收集,若文库中的漏洞出现敏感内容产生了部分影响,请及时联系作者删除漏洞,望师傅们谅解」
原文始发于微信公众号(Gaobai文库):SSRF漏洞的多种绕过方式与防御手段
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论