目录
URL Bypass
知识点
相关例题
数字IP Bypass
相关例题
方法一:使用数字IP
方法二:转16进制
方法三:用localhost代替
方法四:特殊地址
302跳转 Bypass
编辑 关于localhost原理:
DNS重绑定 Bypass
知识点:DNS重绑定攻击
总结
URL Bypass
知识点
1.利用?绕过限制url=https://www.baidu.com?www.xxxx.me
2.利用@绕过限制url=https://www.baidu.com@www.xxxx.me
3.利用斜杠反斜杠绕过限制
4.利用#绕过限制url=https://www.baidu.com#www.xxxx.me
5.利用子域名绕过
6.利用畸形url绕过
7.利用跳转ip绕过
相关例题
1.
2.
数字IP Bypass
相关例题
1.
方法一:使用数字IP
127.0.0.1的数字ip是2130706433
方法二:转16进制
127.0.0.1的16进制是0x7F000001
方法三:用localhost代替
方法四:特殊地址
302跳转 Bypass
知识点:特殊域名xip.io/短网址
如果后端服务器在接收到参数后,正确的解析了URL的host,并且进行了过滤,这个时候可以尝试使用302跳转的方式来进行绕过
以如下规则进行域名解析:
10.0.0.1.xip.io resolves to 10.0.0.1
www.10.0.0.1.xip.io resolves to 10.0.0.1
mysite.10.0.0.1.xip.io resolves to 10.0.0.1
1.提示此内网IP被禁止,尝试使用特殊域名xip.io
2.观察到应该是对127.0.0.1
本身做了过滤,尝试数字IP Bypass中的方式,成功拿到flag
http://0.xip.io/flag.php
3.
关于localhost原理:
当你在计算机上 ping
IP地址时,你尝试联系互联网上的另一台计算机,但是当你ping
IP地址127.0.0.1时,你正在与本地主机通信。localhost 始终是你自己的计算机。且windows自动将localhost解析为127.0.0.1。
local host作用:
开发人员使用本地主机来测试Web应用程序和程序。网络管理员使用环回来测试网络连接。localhost的另一个用途是hosts文件,你可以使用环回来阻止恶意网站。
环回地址是主机用于向自身发送通信的一个特殊地址(不再通过数据链路层传递数据,而是直接在自己的网络层,运输层进行传递数据)
localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的限制。
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
DNS重绑定 Bypass
知识点:DNS重绑定攻击
完整的DNS重绑定攻击流程为:
1.服务器端获得URL参数,进行第一次DNS解析,获得了一个非内网的IP
2.对于获得的IP进行判断,发现为指定范围IP,则通过验证
3.接下来服务器端对URL进行访问,由于DNS服务器设置的TTL为0,所以再次进行DNS解析,这一次DNS服务器返回的是内网地址
4.由于已经绕过验证,所以服务器端返回访问内网资源的内容
1.得到flag的方法与上几题一样
总结
通过4道题目的实践,对常见的Bypass原理与方式有了一定了解,也就可以简单总结下对应防御方法
1.对于URL Bypass,设置URL白名单,使用URL解析器和URL请求器时避免存在差异性
2.对于数字IP Bypass,限制内网IP或设置白名单
3.对于302跳转 Bypass,禁止跳转
4.对于DNS重绑定 Bypass,考虑使用DNS缓存或者Host白名单,或者设置DNS查询的请求间隔小于TTL值
资料:SSRF绕过方法总结 - SecPulse.COM | 安全脉搏