如何绕过CloudFlare机器人保护

2021-04-04 19:42:01

几个月前,我提交了似乎是一个安全缺陷到Cloudfalre的漏洞计划。据他们说,这不是问题,这取决于你弥补自己的思想。

CloudFlare提供了一个JavaScript工作者系统,可用于在服务器端执行代码(因此在CloudFalre处)。此功能对于静态站点,维护页面等非常有用......但它也是Pentest(无服务C& C,易于网络钓鱼代理等)的一个很好的工具。在这篇文章中,我们将探索CloudFlare Bot Protection Bypass。

如果您有史以来尝试访问像shodan.io的网站,你知道这些验证码是多么烦人。

首先,我们将注册域名(一个免费的.tk域就足够了)并创建了CloudFare帐户。一旦CloudFlare验证域,我们需要至少添加一个使用代理模式的有效DNS条目。

现在我们将创建一个符合反向代理角色的JavaScript工作者(Github上的完整代码:https://github.com/jychp/cloudflare-bypass)。创建一个新的工作者并将员工复制/粘贴员工.js内容。您可以自定义Token_Header,token_value,host_header和ip_header值。

现在,如果您尝试达到proxy.domain.com,您将看到“欢迎来到Nginx”。 JavaScript代码非常容易理解,它将查找特定标题(充当魔法),并将您的请求转发给给定域。

要轻松使用此代理,请在我的github存储库中使用Python包装器,让我们玩它。

>>>来自CFProxy Import Cfproxy>>> proxy = cfproxy(' proxy.domain.com''一个随机的用户 - 代理&#39 ;,' 1.2.3.4'>>> req = proxy.get(' https:///////////////////////39;)>>>打印(req.status_code)200>>>>打印(req.text)108.162.229.50

您可以尝试对结果执行WHOIS请求,这是CloudFlare IP(可能运行工作台的服务器)。

此时如果您尝试通过TOR请求代理,您将被阻止。因此,我们将为我们的CloudFlare防火墙(防火墙/防火墙规则)添加规则。有几种方法可以获得工作,这是一个:

此时,您可以使用CloudFlare请求任何网站(除了在攻击模式下使用“)(例如:shodan.io)。但此脚本有更多。

正如您所看到的,X-Forthed-for可以设置为任意值,因此您可以在登录过程中扫描或更危险的IP验证期间绕过IP限制请求......原点IP未转发到网站,因此唯一的IP阻止您服务器上这种请求的方法是过滤CF-Worker标题。

因此,让我们享受免费的CloudFlare帐户的100 000个请求/日,并刮掉世界!