<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>ForestFireFox&apos;s Blog</title><description>AE Projects &amp; Dev. Diary</description><link>https://blog.forestfirefox.top/</link><language>zh_CN</language><item><title>【开源项目】Cloudflare大陆反代优选脚本</title><link>https://blog.forestfirefox.top/posts/20261001-cf-sni-tester/</link><guid isPermaLink="true">https://blog.forestfirefox.top/posts/20261001-cf-sni-tester/</guid><description>优选适合自己的cf反代ip，加速cf网站和服务的访问</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这是一个面向中国大陆用户测试CF SNI代理的python脚本，适配Windows&amp;amp;ubuntu。该项目使用了生成式AI。&lt;/p&gt;
&lt;p&gt;&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;//player.bilibili.com/player.html?bvid=BV1LVaz6SEgk&amp;amp;p=1&quot; scrolling=&quot;no&quot; border=&quot;0&quot; frameborder=&quot;no&quot; framespacing=&quot;0&quot; allowfullscreen=&quot;true&quot;&amp;gt; &amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h2&gt;前言：&lt;/h2&gt;
&lt;p&gt;众所周知，CF对大陆访问不友好，但某些神奇的服务又将带有优质线路的cf反代暴露在公网，可能又由于某些原因没有配置好，于是被扫了，我们便可以利用这些ip提速访问cf网站时的速度。
该项目会对输入的反代ip进行多方位测试以确保实际场景可用性。&lt;/p&gt;
&lt;p&gt;本项目没有针对80、2xxx端口的反代做支持。&lt;/p&gt;
&lt;p&gt;本人因为自身原因没法管这个项目，故不接受任何PR。你可以fork这个项目，改完把仓库地址发在issue中。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;⚠本条道路属于见光死类型，如果你想让这条路活得得久一点，就不要滥用本项目和优质反代ip！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;请你把反代ip想象成某种程度上的公共资源：你在用，别人也在用。&lt;/p&gt;
&lt;p&gt;人多不光导致拥挤；用得多了服务提供商也可能会注意到异常。&lt;/p&gt;
&lt;p&gt;所以不要长时间、大流量滥用单个反代ip，比如拿去开机场。&lt;/p&gt;
&lt;h2&gt;环境要求&lt;/h2&gt;
&lt;p&gt;OS: Windows or Ubuntu（未测试）
With Python &amp;amp; tracepath/tracert/traceroute &amp;amp; curl &amp;amp; ping&lt;/p&gt;
&lt;p&gt;测试环境：Windows 11 with Python &amp;amp; tracert &amp;amp; curl &amp;amp; ping，只保证Windows环境下的可用性。&lt;/p&gt;
&lt;h2&gt;工作流程&lt;/h2&gt;
&lt;p&gt;导入ip csv -&amp;gt; 提取ip并去重 -&amp;gt; 检查可用性 -&amp;gt; 测试延迟、速度 -&amp;gt; 筛选优质ip -&amp;gt; 使用ipinfo查询ip本身对应国家 -&amp;gt; traceroute分析线路 -&amp;gt; 生成 bestips-{date}.csv 以及 ip.txt&lt;/p&gt;
&lt;h2&gt;参数（覆盖config.ini）&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;优先级：命令行给予 &amp;gt; config.ini &amp;gt; 脚本内置默认配置&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;-threads “测试延迟、速度”的线程数，默认2，填max时就取config.ini中的max值。&lt;/li&gt;
&lt;li&gt;-i 输入文件，没填默认./ip.csv&lt;/li&gt;
&lt;li&gt;-o csv输出，没填从config.ini中获取。#这里不支持{date}{num}等映射。
#该工具本为自动化场景而设计，ip.txt输出是不支持关闭的。&lt;/li&gt;
&lt;li&gt;-d 测速文件大小，计数单位：&lt;strong&gt;MB&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;-skiptr 跳过traceroute测试（针对导入ip为中国内地ip的情况自行开启）&lt;/li&gt;
&lt;li&gt;-config 后面跟配置文件路径，例如config.ini（代表./config.ini）&lt;/li&gt;
&lt;li&gt;-log 输出日志文件&lt;/li&gt;
&lt;li&gt;-debug 调试模式&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;功能实现解析&lt;/h2&gt;
&lt;h3&gt;检查可用性&lt;/h3&gt;
&lt;p&gt;curl -sS -k --connect-timeout {timeout} --max-time {timeout} --resolve {cf-host}:443:{your-ip} https://{cf-host}/cdn-cgi/trace
有正确输出即为可用。当然，存在特殊情况。&lt;/p&gt;
&lt;h3&gt;测试延迟、速度&lt;/h3&gt;
&lt;p&gt;ping ... {your-ip} 解析返回延迟
curl -w %{speed_download} ... {large-file-url}&lt;/p&gt;
&lt;h3&gt;去程线路分析&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;如您需要使用该功能，请在config.ini中填入你的ipinfo token，默认使用lite版进行ip信息的拉取。不填token也有几率匹配到内置规则。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;traceroute/tracert/tracepath {your-ip}&lt;/p&gt;
&lt;p&gt;带去程绕路标注(过HK线路也算绕)，但是实测有些路由器的ip没有被拉到对应的位置，这部分用了置信度辅助判断。
该功能不是特别准，仅供参考。&lt;/p&gt;
&lt;p&gt;主要分析：163、CN2、Anet、4837、CMI、CMIN2&lt;/p&gt;
&lt;h2&gt;csv输入示例&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ip&lt;/th&gt;
&lt;th&gt;port&lt;/th&gt;
&lt;th&gt;protocol&lt;/th&gt;
&lt;th&gt;title&lt;/th&gt;
&lt;th&gt;domain&lt;/th&gt;
&lt;th&gt;country&lt;/th&gt;
&lt;th&gt;city&lt;/th&gt;
&lt;th&gt;link&lt;/th&gt;
&lt;th&gt;org&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;167.179.113.223&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;443&lt;/td&gt;
&lt;td&gt;https&lt;/td&gt;
&lt;td&gt;403 Forbidden&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;JP&lt;/td&gt;
&lt;td&gt;Tokyo&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://167.179.113.223&quot;&gt;https://167.179.113.223&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The Constant Company, LLC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;108.102.223.154&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;443&lt;/td&gt;
&lt;td&gt;https&lt;/td&gt;
&lt;td&gt;403 Forbidden&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;US&lt;/td&gt;
&lt;td&gt;Seattle&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://108.102.223.154&quot;&gt;https://108.102.223.154&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Amazon.com, Inc.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;（ip列必须存在，存在其他输入也无所谓。）&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;ip.txt 输出结果示例&lt;/h2&gt;
&lt;p&gt;1.2.3.4#JP (CN2) Tokyo 1 //电信示例1
5.6.7.8#JP (163绕HK、US) Tokyo 2 //电信示例2&lt;/p&gt;
&lt;h2&gt;csv输出示例&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;route&lt;/th&gt;
&lt;th&gt;ip&lt;/th&gt;
&lt;th&gt;cfcountry&lt;/th&gt;
&lt;th&gt;tour&lt;/th&gt;
&lt;th&gt;country&lt;/th&gt;
&lt;th&gt;city&lt;/th&gt;
&lt;th&gt;speed&lt;/th&gt;
&lt;th&gt;latency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CN2&lt;/td&gt;
&lt;td&gt;1.2.3.4&lt;/td&gt;
&lt;td&gt;JP&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;JP&lt;/td&gt;
&lt;td&gt;Tokyo&lt;/td&gt;
&lt;td&gt;12.8MB/s&lt;/td&gt;
&lt;td&gt;50ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;163&lt;/td&gt;
&lt;td&gt;5.6.7.8&lt;/td&gt;
&lt;td&gt;JP&lt;/td&gt;
&lt;td&gt;HK→JP&lt;/td&gt;
&lt;td&gt;JP&lt;/td&gt;
&lt;td&gt;Tokyo&lt;/td&gt;
&lt;td&gt;9.7MB/s&lt;/td&gt;
&lt;td&gt;120ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CN2&lt;/td&gt;
&lt;td&gt;12.3.4.5&lt;/td&gt;
&lt;td&gt;JP&lt;/td&gt;
&lt;td&gt;HK→JP&lt;/td&gt;
&lt;td&gt;JP&lt;/td&gt;
&lt;td&gt;Tokyo&lt;/td&gt;
&lt;td&gt;8.3MB/s&lt;/td&gt;
&lt;td&gt;52ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CN2&lt;/td&gt;
&lt;td&gt;12.34.56.78&lt;/td&gt;
&lt;td&gt;HK→US&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;US&lt;/td&gt;
&lt;td&gt;Califonia&lt;/td&gt;
&lt;td&gt;20.0MB/s&lt;/td&gt;
&lt;td&gt;200ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;163&lt;/td&gt;
&lt;td&gt;123.4.56.78&lt;/td&gt;
&lt;td&gt;NL→US&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;US&lt;/td&gt;
&lt;td&gt;Califonia&lt;/td&gt;
&lt;td&gt;2.3MB/s&lt;/td&gt;
&lt;td&gt;600ms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;排列优先级：previousCountry对应的国家 -&amp;gt; 速度降序；把cfcountry一致的ip归类到了一块排序&lt;/p&gt;
&lt;p&gt;表头字段注释：
route：判断的线路类型
ip：ip
cfcountry：访问/cdn-cgi/trace对应的国家/地区代码，该字段可以填充HK。
tour：绕路情况，没绕填充None，绕路按照上述格式填充，例：HK→JP
country：这个ip本身对应的国家
city：这个ip对应的城市
speed：这个ip的速度
delay：这个ip的延迟&lt;/p&gt;
</content:encoded></item><item><title>记一次服务器迁移 —— 从0开始配环境、迁数据...</title><link>https://blog.forestfirefox.top/posts/20260920-migration/</link><guid isPermaLink="true">https://blog.forestfirefox.top/posts/20260920-migration/</guid><description>一台刚到手的服务器要如何部署？</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这篇文章只是记录，不是教程向，虽然有贴出小白可用的命令。&lt;/p&gt;
&lt;p&gt;之前我的网站和服务都是部署在日本的VPS上的，但是由于服务商IIJ到软银的线路变动，现在三网都很卡。
忍受不了一个200多KB的静态背景图要加载超过一分钟的我，选择了更换VPS。🚚&lt;/p&gt;
&lt;p&gt;原VPS：&lt;strong&gt;ACCK JPIIJ-One 周年庆&lt;/strong&gt; （现在实为软银线）
参数：广播ip、500Mbps+500M+10G、Cloudinnovation、大陆SoftBank直连、国内带宽实测最高100Mbps、99.99年付&lt;/p&gt;
&lt;p&gt;新VPS：&lt;strong&gt;云悠 HK-Kawloon TCVM-Mini&lt;/strong&gt; &lt;a href=&quot;https://nodequality.com/r/cUT9q4OD2E5QZl4tb5AyizUAASZg0rN6&quot;&gt;NodeQuality&lt;/a&gt;
参数：原生ip、100Mbps+512M+30G、Cloudie、去程CN2+4837+CMI，回程4837+CMI、15.99月付（有手续费）&lt;/p&gt;
&lt;p&gt;因为之前那个vps不是被拿去挖矿了嘛，我担心有后门残留，面板废资源的同时不能满足我某个必须使用caddy的需求，所以这次我根据已有经验，借助AI从0开始手配环境。🔧&lt;/p&gt;
&lt;p&gt;我部署的服务为 &lt;strong&gt;Caddy+PHP-FPM+Komari&lt;/strong&gt;，以及一些例如frp、git的小东西，是一套很轻量的方案；
推荐使用的SSH软件为FinalShell，与个人使用Windows的习惯非常贴合。💻&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;👤 用户配置&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;web -&amp;gt; web服务 （caddy &amp;amp; php-fpm）&lt;/li&gt;
&lt;li&gt;komari -&amp;gt; komari面板&lt;/li&gt;
&lt;li&gt;frp -&amp;gt; frp&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;📁 目录配置&lt;/h2&gt;
&lt;p&gt;本人有强迫症，所以这么配：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/
├── ...
├── server(root)
│   ├── bin(root 755)
│   │   ├── caddy(web:web 755)
│   │   ├── komari(komari:komari 755)
│   │   ├── frp(frp:frp 755)
│   │   └── ...
│   ├── logs(root 700) #systemctl日志全记录
│   ├── web-conf(web:web 500) #这里也可以root:web 750
│   └── ...
├── www(web 755)
│   └── ...
└── swapfile(root 600)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;只展示大概配置，不展示SSL证书位置等敏感信息，免得又有黑客通过php搞我。。。🔒&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;⚙️ 系统配置&lt;/h2&gt;
&lt;p&gt;本人偏好Ubuntu，以下命令均支持直接在ssh命令行中输入。&lt;/p&gt;
&lt;h3&gt;更改默认主机名&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo hostnamectl set-hostname NEW-HOST-NAME&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;💾 配置虚拟内存（/swapfile可替换）&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;free -m #查看 Linux 当前分区情况
swapoff -a #如果是增加 swap 分区，则先把当前所有分区都关闭了，没有swap分区不用这一步
dd if=/dev/zero of=/swapfile bs=1M count=2560 #创建要作为 Swap 分区的文件
mkswap /swapfile #建立 Swap 的文件系统
chmod 600 /swapfile #设置权限
swapon /swapfile #启用 Swap 分区
free -m #查看 Linux 当前分区
echo &apos;/swapfile none swap sw 0 0&apos; | sudo tee -a /etc/fstab #永久化，重启不掉
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;🚀 开启 BBR&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo sh -c &apos;echo &quot;net.core.default_qdisc=fq&quot; &amp;gt;&amp;gt; /etc/sysctl.conf&apos;
sudo sh -c &apos;echo &quot;net.ipv4.tcp_congestion_control=bbr&quot; &amp;gt;&amp;gt; /etc/sysctl.conf&apos;
sudo sysctl -p
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;📦 软件配置&lt;/h2&gt;
&lt;h3&gt;🟢 Caddy&lt;/h3&gt;
&lt;p&gt;为了避免被诸如crt.sh的网站通过证书的方式扫二级域名，我决定使用泛域名证书，所以我需要安装cloudflare-dns插件，使用的方式为编译安装。此处不做详解。
快捷安装指令：
&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install caddy&lt;/code&gt;
Caddyfile参考配置：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
    admin off
    email abc@example.com
    http_port 80 #其实建议把这行删了禁用http
    https_port 443
}
*.example.com {
    header / Strict-Transport-Security &quot;max-age=63072000&quot;
    encode gzip
    tls {
        dns cloudflare {env.CF_API_TOKEN} #这个api建议配在环境变量
        protocols tls1.2 tls1.3
        ciphers TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
    }
}
example.com {
    header / Strict-Transport-Security &quot;max-age=63072000&quot;
    encode gzip
    tls {
        dns cloudflare {env.CF_API_TOKEN} #这个api建议配在环境变量
        protocols tls1.2 tls1.3
        ciphers TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
    }
    redir https://www.example.com #重定向
}
www.example.com {
    #上面的证书配置会自动应用
    root * /path
    encode gzip zstd
    file_server
}
#导入配置；后缀随意；支持通配符；注意权限
#import /path/*.conf
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;🐘 PHP-FPM&lt;/h3&gt;
&lt;p&gt;为了目录配置的一致性，借助AI完成了编译安装，此处不做讲解。
快捷安装指令（以8.1版本为例）：
&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install php8.1-fpm&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;📊 Komari &amp;amp; Agent&lt;/h3&gt;
&lt;p&gt;使用wget下载二进制文件安装，需要配置权限。
::github{repo=&quot;komari-monitor/komari&quot;}&lt;/p&gt;
&lt;h3&gt;🔀 frp&lt;/h3&gt;
&lt;p&gt;使用wget下载二进制文件安装，需要配置权限。
::github{repo=&quot;fatedier/frp&quot;}&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;测试了网站访问，流畅度不错；流式传输也非常不错。✨
由于cloudie的原因无法进行tcp测速，提供全国延迟图片。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./files/20260920-migration/delay.png&quot; alt=&quot;itdog延迟图&quot; title=&quot;itdog延迟图&quot; /&gt;&lt;/p&gt;
&lt;p&gt;到这里主力的机器就变成了这台HK线路机了，不过原来那台vps我打算留着继续用。
一来是这个vps上还有挂着cf的服务，如果使用我珍藏的反代ip来访问的话速度优异；⚡
二来这台机器的性能、到HK的互联都不错，以后有需要mysql的话可以挂在这台机器上；🗄️
再说挂在komari上拿来展示也挺不错。📊&lt;/p&gt;
&lt;p&gt;文章为本人撰写；让gpt帮我加了emoji；封面为gpt生成。&lt;/p&gt;
</content:encoded></item><item><title>记一次小鸡被偷偷拿去挖矿的经历——该博客的来历</title><link>https://blog.forestfirefox.top/posts/20260912-attack/</link><guid isPermaLink="true">https://blog.forestfirefox.top/posts/20260912-attack/</guid><description>WordPress用户最好进来看一下</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;从配好环境开始，vps的内存一直是爆满的。
起初我是认为我在上面挂了&lt;strong&gt;mysql&lt;/strong&gt;+xray+caddy+php+frp，本来内存占用就大，所以正常。
后来发现这个异常的内存占用似乎影响到我其他服务的性能了，于是把php和mysql关了。
但是故障依旧，然后使用top命令发现了一个奇怪的进程。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./files/20260912-attack/top.png&quot; alt=&quot;top命令输出&quot; title=&quot;top命令输出&quot; /&gt;&lt;/p&gt;
&lt;p&gt;该程序使用web用户启动，我当时还以为是caddy的子进程，因为mysql和php都被我关掉了。
因为cpu的占用很低我没往挖矿方面想。
不过我在好奇心的驱使下，顶着黑眼圈跟gpt畅聊发现这就是挖矿软件，然后畅聊了2个小时的样本保存、解决方案等。
居然就这么被白嫖了1个月。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./files/20260912-attack/status-month.png&quot; alt=&quot;月度占用图表&quot; title=&quot;月度占用图表&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./files/20260912-attack/status-year.png&quot; alt=&quot;年度占用图表&quot; title=&quot;年度占用图表&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;有意思的东西：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在wp的根目录下发现了一个编辑于8/12的权限为644的0x.txt文件，内容为&quot;chinafans&quot;（纪实），这说明为人工攻击，非脚本自动攻击。&lt;/p&gt;
&lt;p&gt;然后我按照gpt的指示查了一下目录，发现这个攻击者把每一个修改过的文件都留下了.bak后缀的原始文件备份。&lt;/p&gt;
&lt;p&gt;种种反常现象感觉这人像是来玩的，因为这种小鸡配置这么低我个人认为是没多少收益的，而且作案痕迹也太多了。。。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./files/20260912-attack/0x-txt.png&quot; alt=&quot;0x.txt&quot; title=&quot;0x.txt&quot; /&gt;
&lt;img src=&quot;./files/20260912-attack/wp-load-php.png&quot; alt=&quot;wp-load.php&quot; title=&quot;wp-load.php&quot; /&gt;
&lt;img src=&quot;./files/20260912-attack/users-php.png&quot; alt=&quot;users.php&quot; title=&quot;users.php&quot; /&gt;&lt;/p&gt;
&lt;p&gt;攻击者分别在08/12、08/17和09/02攻击了4次&lt;/p&gt;
&lt;p&gt;8/12 生成了1个0x.txt
8/13 更改wp套件
8/17 第一次上传挖矿木马，币种：门罗币，XMRig套件+保活
9/02 第二次上传挖矿木马，似乎把性能占用调高导致我的xray以及caddy等正常程序卡顿。&lt;/p&gt;
&lt;p&gt;因为时间太久了我这里的日志只记录到09/07，再之前的就没有了。&lt;/p&gt;
&lt;p&gt;攻击链条梳理：&lt;/p&gt;
&lt;p&gt;WordPress漏洞 -&amp;gt; 将木马套件上传到wp-plugins目录 -&amp;gt; 通过php修改文件，留下信息，启动木马。&lt;/p&gt;
&lt;p&gt;wp内部的四个文件夹权限都是默认的，都有x权限，其他php文件没有，似乎是通过这个来操作的。
万幸的是php是使用的web用户来启动的，如果是root用户那只能重装了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;大家如果有挂wordpress的话可以检查一下有无类似情况，我这边已经换astro了。
如果你的wordpress文件夹权限为777那就非常危险了，我这里的的日志监测到一堆脚本在扫wp目录。
如果你还没中招，赶紧自查文件夹权限，或者换一套架构；更新版本。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;为防止意外情况发生，不提供木马样本。&lt;/p&gt;
</content:encoded></item></channel></rss>