如何使用CloudFail绕过Cloudflare抓取数据

如何使用CloudFail绕过Cloudflare抓取数据

许多现代网站依靠 Cloudflare 来增强安全性、优化性能并防止恶意攻击。但这种先进的反机器人系统会拒绝自动流量,其中包括抓取活动,因此 CloudFail 等工具可以让您通过后门:目标网站的原始服务器。

在本教程中,您将了解如何使用CloudFail 绕过 Cloudflare。您还将探索更高效且可扩展的替代方案。

什么是CloudFail

CloudFail 是一个开源探索工具,可揭示源服务器的 IP 地址。这样,网络抓取工具就有了从受 Cloudflare 保护的网站提取数据的新机会。

CloudFail 的工作原理

CloudFail 利用了暴露源服务器的网站错误配置。该工具在使用 Tor 屏蔽所有请求时经历三个不同的阶段:

1. 使用 DNSDumpster.com 进行 DNS 扫描配置错误:当您通过 CloudFail 运行目标网站时,它会查询 DNSDumpster.com。该服务采用一个域并生成其 DNS 信息。然后分析结果以识别 DNS​​ 设置中的任何错误配置,从而提供有关源服务器的信息。

2. 扫描 CrimeFlare 数据库: CrimeFlare是受 Cloudflare 保护的网站及其相关数据的历史数据库。在此阶段,CloudFail 会查询与目标域关联的数据。这可能包括不受 Cloudflare 保护的子域。有时,CloudFail 可能会获取实际的 IP 地址。

3. 暴力扫描超过 2,500 个子域: CloudFail 在第三阶段启动暴力扫描。这需要对照目标域检查 2,500 个子域以识别错误配置。

如何使用CloudFail

在 GNU/Linux 上

要使用 CloudFail,请pip3使用以下命令安装 Python3 依赖项:

$ sudo apt-get install python3-pip

然后,创建要存储 CloudFail 源代码的目录并导航到该目录。

mkdir CloudFail_Scraper

cd CloudFail_scraper

在目录中,使用以下命令克隆 CloudFail 的存储库:

git clone https://github.com/m0rtem/CloudFail

现在源代码已保存在您所需的目录中,导航到 CloudFail 并运行以下命令以授予execute该文件权限cloudfail.py

chmod +x cloudfail.py

最后,安装使用 Cloudfail 的依赖项和要求。

$ pip3 install -r requirements.txt

上述命令安装的子工具包括Argparse、Colorama、Socket、Binascii、Datetime、Requests、win_inet_pton和dnspython。

现在一切都已设置完毕,让我们使用以下命令来调查 SEO.com:

python3 cloudfail.py --target seo.com

结果如下:

medium_Cloudfail_result_e36c6cd88c

在 Windows 上

Windows 操作系统的过程相同,但execute不需要许可。

下载Cloudfail的源代码并将其存储在易于找到的目录中。然后,导航到CloudFail您的目录并安装必要的依赖项,就像我们在 GNU/Linux 上所做的那样。

最后一步是使用命令行来调查 SEO.com,就像我们对 GNU/Linux 所做的那样。

最佳 CloudFail 替代方案

幸运的是,ZenRows 提供了一种可行、高效且可扩展的方法来绕过 Cloudflare 和任何反机器人检测解决方案。您可以通过传递目标 URL 并进行单个 API 调用来检索未检测到的必要数据。

接下来,选择 Python(尽管它适用于任何语言)并粘贴您的目标 URL(我们将使用seo.com)。Anti-bot然后,选中、Premium Proxy、 和复选框,JavaScript Rendering将这些参数设置为true。这样,您就可以运行代码了。

medium_seo_dashboard_7438ad48f8

现在,使用以下命令安装 Python Requests 库(或使用任何其他 HTTP 库):

pip install requests

从 ZenRows 复制代码并在您喜欢的编辑器中运行代码。这是最终的代码:

# import requests
import requests
 
url = 'https://seo.com/'
apikey = 'Your API Key'
params = {
    'url': url,
    'apikey': apikey,
    'js_render': 'true',
    'antibot': 'true',
    'premium_proxy': 'true',
}
response = requests.get('https://api.zenrows.com/v1/', params=params)
print(response.text)

它将打印页面的 HTML。恭喜您绕过您的第一个受 Cloudflare 保护的网站。

结论

虽然使用 CloudFail 可以抵制 Cloudflare 并将请求直接发送到目标网站的源服务器,但该工具不再起作用。此外,这种方法并不可靠,因为并非所有网站的真实IP地址都能找到。

类似文章