博客三个月连续被黑三次!WP后门木马排查与安全加固记录

博客三个月连续被黑三次!WP后门木马排查与安全加固记录

💡 原文中文,约3900字,阅读约需10分钟。
📝

内容提要

博客三个月内三次被黑,攻击者均新建管理员用户并清空主题设置。排查发现插件目录存在木马、首页及wp_options表被注入恶意脚本,主题还引用了有投毒历史的cdn.staticfile.org。作者清理全部用户和数据库冗余信息,将JS、CSS、字体改为本地部署,更换新服务器并安装最新Nginx,同时配置EdgeOne缓存规则,对后台、PHP及带Cookie请求禁用缓存。

🔎

延伸解读

重复入侵的根源:木马与第三方资源

作者三次被黑均出现新建管理员用户和主题设置被清空,排查发现插件目录有木马、首页及wp_options表被注入恶意脚本。这些脚本利用管理员登录状态创建用户,说明攻击者已获得持久化入口。仅升级WordPress版本和禁用部分插件未能阻止第三次入侵,提示需彻底清理后门文件与数据库注入点,而非表面修补。

第三方CDN的历史投毒风险

文章指出主题曾引用cdn.staticfile.org的前端加速资源,该域名已不属于七牛云,且有多次后门记录。作者检索代码确认引用后,将JS、CSS、字体全部改为本地部署。这提醒读者:前端资源若依赖曾易主或有过投毒历史的第三方域名,可能成为脚本注入渠道,应审查主题与插件中的外部引用并本地化。

缓存规则中的安全边界

作者在EdgeOne配置中,对图片、CSS、JS等静态资源设置较长缓存,对首页、分类页等HTML设置短缓存;同时对wp-admin、wp-json、wp-login.php、xmlrpc.php、wp-cron.php等路径以及PHP、JSON文件和带Cookie的请求一律禁用缓存。这种区分静态与动态、登录态与匿名请求的做法,可减少敏感页面被缓存泄露的风险,也避免攻击者利用缓存层绕过动态检查。

清理冗余数据与更换环境的取舍

作者清空了近三万个已无用的注册用户,并让AI清理多年积累的数据库冗余信息,随后更换新服务器、安装最新Nginx重新部署。这些措施减少了潜在攻击面,但文章也提到全站静态化因再次被黑而搁置,且作者仍计划继续使用WordPress。可见加固是持续过程,清理与换环境不能替代对后门来源的彻底追查。

❓

Q&A

博客三个月内被黑了三次,攻击者每次入侵后都做了什么?

攻击者每次入侵后都会新建一个管理员用户,并清空主题的所有设置。第一次还发布了2篇文章,第二、三次同样新建管理员用户并清空主题设置。

作者在排查过程中发现了哪些后门或恶意注入?

在插件文件目录发现可疑插件文件,经AI确认是木马;博客首页被注入恶意脚本,该脚本会利用管理员登录状态创建管理员用户;wp_options表中也被注入恶意脚本;主题还引用了有投毒黑历史的域名cdn.staticfile.org的前端加速资源。

cdn.staticfile.org这个域名有什么风险?为什么作者提醒要处理掉?

该域名有投毒黑历史,已经不属于七牛云,多次被爆有后门。作者检索代码后发现主题确实引用了该域名,提醒使用该域名的用户及时处理掉。

作者采取了哪些具体步骤来清理和加固博客?

第一步清理全部用户信息(共29733个注册用户);第二步让AI清理数据库大量无用信息;第三步将主题引用的所有JS/CSS/字体文件改为本地服务器部署,不再引用三方JS;第四步换新服务器重新部署博客,安装最新版Nginx;第五步配置EdgeOne缓存规则。

EdgeOne的缓存规则中,哪些请求被设置为不缓存?

后台相关路径(wp-admin、wp-json、wp-login.php、xmlrpc.php、wp-cron.php、wp-comments-post.php)、php和json文件扩展名、以及带Cookie的请求都被设置为不缓存。

作者对全站静态化的态度和后续计划是什么?

作者原本计划做全站静态化,刚做了一半博客又被黑,暂时搁置,想先查清后门来源。后面还会继续使用WordPress试一试。

🏷️

标签

➡️

继续阅读