-
-
[翻译]利用源服务器IP地址绕过Cloudflare WAF
-
发表于: 2019-10-22 20:52 11520
-
这是一篇由Detectify Crowdsource的白帽子Gwendal Le Coguic编写的客座博客。本篇文章会教你利用源服务器的IP地址绕过Cloudflare WAF。
Cloudflare是一个应用广泛的web应用防火墙(WAF)的提供商。如果能在一秒内绕过所有防护措施,让WAF毫无用处,会怎么样呢?这篇文章会教你利用源服务器的IP地址绕过Cloudflare WAF。
注意,以下方法可能适用于绕过任何类型的WAF。
Cloudflare WAF是目前最流行的web应用防火墙之一,防护着超过1600万个网络资产。一年前Cloudflare发布了一个快速DNS resolver,并很快成为它们最受欢迎的产品。WAF作为一个反向代理服务器,不仅可以抗DDoS攻击,还可以在检测到攻击时触发告警。付费版本的用户还可以选择开启防护SQL注入、XSS、CSRF等常见漏洞攻击,但必须要手动启动。免费版本不支持这个功能。
虽然该WAF很擅长于阻挡基础的攻击载荷,但已经有很多绕过Cloudflare WAF的方法,而且每天都会出现新的,所以持续测试Cloudflare防火墙的安全性十分重要。就在我写这篇文章的时候:
作为一个bug赏金猎人(黑客),很明显绕过防火墙是一件有意思的事情。基本上你有三种选择:
1.自定义攻击载荷来绕过防火墙规则。这可以提高你的防火墙绕过技术,但这是一个沉闷且耗时的过程,对于bug赏金猎人来说这是划不来的,因为时间就是金钱!如果你选择这种方法,最好尝试些PayloadsAllTheThings上列出的载荷,或者在Twitter上搜索下。
2.以适当的方式更改请求来破坏服务器。和第一种选择一样,这会很耗时,还要有耐心和良好的fuzzing技术。Soroush Dalili写过一篇很好的报告,可以帮助你利用HTTP标准和Web服务器行为来制造这种请求。
3.通过查找Web服务器的原始IP来绕过Cloudflare。这也许是最简单的方法,不需要专业技术,作为侦察阶段的一部分也不会浪费时间。一旦你掌握了这个方法,你就再也不用担心WAF或DDoS保护(速率限制)。
本文中,我将重点介绍最后一种方法,以及如何根据获得的提示来实现它。
提示:Cloudflare是一个必须由人设置的工具,通常是研发或系统管理员。通过使用下文的方式导致配置错误产生的有效攻击,Cloudflare不会负责。
开始正常的侦察过程,获得尽可能多的IP地址(主机、nslookup域名解析服务器、whois服务器、BGP路由),然后检查哪些服务器有可用的web服务(netcat、nmap、masscan等工具)。一旦你有了web服务器的IP地址列表,下一步就是检查这些服务器是否配置了保护域作为虚拟主机。如果没有,你将会获得默认服务器页面或默认网站配置,这样你就找到了入口!使用Burp:
这是我想要的子域名,但是IP地址不正确:
这是错误的子域名,但有合适的IP地址:
这是我想要的子域名,而且有合适的IP地址——完美!
一些可以自动侦察的工具:
https://pentest-tools.com/information-gathering/find-virtual-hosts
https://github.com/jobertabma/virtual-host-discovery
如果你的攻击目标使用了SSL证书(使用SSL是必须的),而且是在Censys数据库已注册的(我强烈建议去买一个)。在Censys选择输入时选择“证书”,提供你目标服务器的域名,点击回车。
你会看到适用于你目标的证书列表:
点击每个结果显示详细信息,在最右侧的搜索菜单中选择“IPv4主机”:
可以看到使用该证书的服务器IP地址:
从这里开始,获取所有你可以获取的IP,然后回到上一章,尝试通过所有IP访问你的目标。
下一步,检查你的目标服务器发出的邮件头:订阅新闻,创建用户,使用“忘记密码”功能,订购……尽你所能从测试网站获得一封邮件(提醒一下可以使用Burp)。
得到邮件后,检查邮件源文件,特别是邮件头。记录可以找到的所有可能属于一个服务器的IP和子域名。再一次,尝试通过这些访问你的目标。
我在邮件头Return-Path里找到了一些信息:
用Curl测试:
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!