SSRF URL Bypass数字IP Bypass302跳转 BypassDNS重绑定 Bypass

发布于:2024-08-16 ⋅ 阅读:(105) ⋅ 点赞:(0)

绕过SSRF(Server-Side Request Forgery)防御机制是常见的挑战之一,尤其当目标应用试图通过限制URL、阻止数字IP地址、处理302重定向或利用DNS重绑定技术来防止SSRF攻击时。下面是一些绕过这些防御策略的方法:

URL Bypass

当目标应用限制URL只允许使用特定的域名或路径时,可以尝试以下方法:

  1. 子域名枚举:尝试使用目标域下的未知子域名,因为应用可能只过滤了主域名,而未考虑到所有可能的子域名。
  2. URL编码:对URL进行编码,比如使用百分比编码(%XX)或URL-safe base64编码。
  3. 使用相似字符:使用看起来像合法字符但实际上不同的Unicode字符,如使用全角字符代替半角字符。
  4. 利用国际化域名:尝试使用国际化域名(IDN),这些域名可能看起来与目标域名相同,但实际上使用了不同的字符集。

数字IP Bypass

当目标应用阻止了直接对数字IP地址的请求时,可以尝试:

  1. 使用域名解析到同一IP:找到一个解析到目标IP的域名,并使用该域名进行请求。
  2. 利用DNS缓存:如果目标服务器的DNS缓存了特定域名到目标IP的映射,可以利用这个映射进行请求。
  3. 使用CNAME记录:创建一个CNAME记录指向目标IP的域名,然后使用这个CNAME记录发起请求。

302跳转 Bypass

当目标应用拦截并阻止了302重定向时,可以:

  1. 手动处理重定向:在SSRF请求中,自己处理重定向逻辑,不依赖于应用自动跟随重定向。
  2. 使用循环重定向:创建一个无限循环的重定向链,这可能导致目标应用崩溃或放弃重定向处理。
  3. 利用应用的重定向逻辑缺陷:寻找应用在处理重定向时的逻辑漏洞,比如是否正确验证重定向的目标。

DNS重绑定 Bypass

DNS重绑定是一种技术,允许攻击者通过更改DNS解析来绕过同源策略或SSRF防御。当目标应用检查DNS解析的IP地址时,可以:

  1. 动态更改DNS记录:在应用检查DNS记录和实际发起请求之间的时间差内,更改DNS记录,使其指向目标IP。
  2. 使用延迟解析的DNS记录:创建一个DNS记录,它的解析被延迟,直到应用发起请求时才真正解析为目标IP。

实战技巧

  • 多步攻击:结合使用上述多种技巧,比如先利用URL bypass绕过域名限制,再利用数字IP bypass绕过IP限制。
  • 自动化工具:使用自动化工具,如Burp Suite、ZAP或专门的SSRF工具,来帮助测试和发现绕过机会。
  • 深入理解HTTP协议:理解HTTP协议的各个部分,包括请求头、状态码、重定向等,可以帮助设计更复杂的绕过方案。

网站公告

今日签到

点亮在社区的每一天
去签到