部署新站点的时候发现大量垃圾文章,然后 AI 帮我救回来了

部署了新子站点,回头一看,主站被赌场广告淹没了。

起因:部署了一个新子站点

最近我做了一个新的子站点——医学概念溯源,专门梳理常见医学概念的来龙去脉。比如某个疾病名称是怎么来的、某个诊断标准经历了怎样的演变……算是把平时查文献攒下来的那些"冷知识"整理出来。

部署完之后,我准备在子站点里加上主博客的链接,互相导流。于是顺手打开 alearnerlin.top,想确认一下博客正常运行。

然后我就愣住了。

打开主站,首页全是赌场广告

首页上堆满了外文内容——韩语、俄语、德语、波兰语、葡萄牙语、西班牙语、土耳其语……全是赌场和在线赌博的推广文章。我的"Joseph_Med Blog"标题还在,但内容已经被垃圾完全淹没。

刚部署完新站点的那点满足感瞬间消失。我心里一凉:几年的文章,不会都没了吧?

让 AI 帮忙诊断

我直接对 AI 助手说了一句:"你帮我看看我的博客的那些文章怎么全部被改了?"

AI 没有废话,直接开始行动:

  1. 网页取证——先抓取首页内容,确认垃圾内容的类型和规模
  2. API 侦察——通过 WordPress REST API 拉取了全部文章列表,42 篇一目了然
  3. 逐篇比对——检查了原始文章的修改时间和内容,确认它们没有被篡改

不到一分钟,诊断报告就出来了:

好消息:原始 20 篇文章内容完好,没有被修改
坏消息:从 7 月 17 日到 24 日,攻击者注入了 22 篇赌博垃圾文章
攻击入口:XML-RPC 大开,攻击者暴力破解了密码

更严重的是——数据库里竟然躺着 41 个恶意用户账号,全是 wp2shellNx 这类自动化攻击工具批量创建的。而我的博客只有一个真正的管理员:我自己。

AI 的清理过程:四步搞定

给了 AI 服务器 SSH 密码之后,它就开始自己干了。

第一步:删除垃圾文章

DELETE FROM wp_posts WHERE post_author = 29;

22 篇垃圾文章,一条 SQL 清空。首页从赌场广告变回了我熟悉的文章列表。

第二步:清理恶意用户

41 个攻击者账号,全部清除。数据库里只剩我一个人。

第三步:封堵 XML-RPC

这是这次被黑的元凶。WordPress 的 XML-RPC 接口默认开启,攻击者用它来暴力破解密码和批量创建用户。AI 在 Nginx 里加了两条规则:

# 直接拒绝 XML-RPC 的所有请求
location = /xmlrpc.php {
    deny all;
}

# 防止通过 REST API 枚举用户
location ~ ^/wp-json/wp/v2/users {
    deny all;
}

从此 /xmlrpc.php 返回 403,暴力破解路径被封死了。

第四步:修改管理员密码

换了更强的密码,防止攻击者用老密码重新登录。

为什么会被黑?

  • XML-RPC 一直开着——WordPress 最经典的攻击入口,我的博客从搭建那天起就没关过
  • WordPress 版本太老——还在用 5.9.3(2022 年的版本)
  • 密码不够强——原来的管理员密码比较弱,容易被暴力破解
  • Wordfence 没配好——安全插件装了但没真正启用

这次经历的几个感触

🧊 本来挺开心的,瞬间被泼了冷水

刚部署完新的子站点,想着能让两个站点相互引流,结果发现主站已经变成了赌场。那种从兴奋到崩溃的切换,太难忘了。

🤖 AI 的排查速度让我服气

从我说第一句话到完整诊断报告出来,不到两分钟。如果是自己排查,我得登录 SSH → 进 MySQL → 查表 → 比对 → 还得 Google 怎么封 XML-RPC。AI 直接在诊断的同时就开始修了。

这里必须感谢一下 DeepSeek,这次用的是 DeepSeek V4 Pro 驱动的 AI 助手。整个过程——从诊断到修复到写这篇博客——全部由它完成。国产模型能做到这个水平,真的很惊喜。

🔒 安全不能等出事了再搞

以前总觉得"小破博客谁来黑啊"。结果攻击者都是自动化扫描,根本不在乎网站大不大。XML-RPC + 弱密码 = 必被黑。

后续的加固清单

  • ✅ 删除垃圾文章
  • ✅ 删除恶意账号
  • ✅ 封锁 XML-RPC
  • ✅ 修改管理员密码
  • ⬜ 升级 WordPress 到最新版
  • ⬜ 配置 Wordfence 防火墙
  • ⬜ 删除不用的主题和插件
  • ⬜ 关闭用户注册功能

总结

一次有惊无险的安全事件。起因是想给新子站点加个链接,结果意外发现主站被黑了。

损失:零。所有文章都在。

收获:修好了安全问题,多了一个博客素材,还顺便给 DeepSeek 打了个广告(因为它真的配)。

如果你也用 WordPress,建议现在就检查一下:你的域名/xmlrpc.php 能不能访问?能的话,赶紧关了。

顺便安利一下我的新子站点 👉 医学概念溯源,喜欢医学史的朋友可以看看。

出事时间:2026 年 7 月 24 日
修复时间:2026 年 7 月 26 日
AI 引擎:DeepSeek V4 Pro via OpenClaw

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇