WordPress 被黑后的完整恢复流程(含后门排查)
摘要
先说结论:网站被黑后,最忌讳的动作是「删掉看见的可疑文件就以为好了」。绝大多数入侵者会留多处后门,只清一处,几天后必然二次被黑。正确顺序是:先隔离 → 找入口 → 全站清理 → 加固 → 监控。 第一步:先隔离,别急着修(很多人在这里就错了
先说结论:网站被黑后,最忌讳的动作是「删掉看见的可疑文件就以为好了」。绝大多数入侵者会留多处后门,只清一处,几天后必然二次被黑。正确顺序是:先隔离 → 找入口 → 全站清理 → 加固 → 监控。
第一步:先隔离,别急着修(很多人在这里就错了)
- 把站点切到维护模式或临时下线,避免后门继续被利用。
- 立刻修改所有管理员密码、数据库密码、FTP/面板密码。
- 如果用的是共享主机,联系服务商看是否有同机入侵。
- 不要立刻删日志,它是找入口的唯一线索。
第二步:判断是怎么被黑的(决定你要清理多深)
| 现象 | 常见入口 |
|---|---|
| 搜索结果出现博彩、药品页 | 主题或插件插马,或用 .htaccess 做 UA 跳转 |
| 首页正常,从搜索引擎点进来跳转 | JS 注入 + UA / referer 判断 |
| 后台多了陌生管理员账号 | 弱密码被爆破 |
大量 .php 奇怪文件出现在 uploads | 上传漏洞或插件后门 |
| 数据库被塞外链 | SQL 注入或插件漏洞 |
看服务器访问日志(access.log)里入侵时间点附近的 POST 请求,往往能直接看到攻击路径。
第三步:找后门(重点,别偷懒)
1. 查可疑文件
按修改时间排序找最近被改的文件:
find /站点目录 -type f -name '*.php' -mtime -30 -ls
重点看这些位置,它们本来不该有 PHP:
wp-content/uploads/下出现 .php → 100% 是后门。wp-content/cache/、wp-content/tmp/下的 .php。- 根目录出现
wp-config.php.bak、1.php、a.php之类。
2. 查常见后门关键词
grep -r -l --include='*.php' -E 'eval\(|base64_decode\(|gzinflate\(|str_rot13\(|assert\(|create_function' /站点目录/wp-content/
命中后逐个看,注意正常的主题也可能用 base64(比如内嵌字体),要人工判断。
3. 查 .htaccess 和 nginx 配置
很多挂马不改 PHP,只在 .htaccess 里加 UA 跳转。检查各目录下的 .htaccess 是否被改过。
4. 查数据库
SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
SELECT * FROM wp_options WHERE option_name LIKE '%widget%' OR option_name LIKE '%theme_mods%';
widget 和 theme_mods 里塞 JS 是非常常见的手法,因为它们不显眼。
5. 查用户表
SELECT ID, user_login, user_email, user_registered FROM wp_users;
SELECT user_id, meta_value FROM wp_usermeta WHERE meta_key='wp_capabilities';
删掉不认识的管理员账号,重点看注册时间是入侵那个时间点的。
第四步:清理与重建(稳妥做法)
如果侵入较深,最稳的方案不是逐个删,而是重建:
- 导出文章、页面、评论(纯内容,不含配置)。
- 删掉全部 WordPress 文件。
- 下载官方最新安装包,全新安装。
- 只装你确实需要、且仍在更新的主题和插件(老版本插件是新一轮入侵的入口)。
- 把导出的内容导回。
- 主题的
functions.php和自定义 CSS 要人工检查后再用,不要直接恢复备份里的文件。
这个做法听起来麻烦,但比「反复被黑、反复排查」省时间得多。
第五步:加固(否则会被同样方式再来一次)
- 管理员强密码 + 两步验证。
- 登录限次,必要时隐藏
/wp-login.php或改登录地址。 - 关闭后台文件编辑(
DISALLOW_FILE_EDIT)。 - 文件权限 755/644,
wp-config.php600。 - 开启 HTTPS。
- 所有插件主题升级到最新,没人维护的换掉。
- 装一个文件完整性监控插件,文件被改会告警。
第六步:善后(这些别忘)
- 清理搜索引擎里的恶意快照:Google Search Console 提交重新抓取。
- 检查是否有恶意 301 指向,提交移除请求。
- 如果之前挂了联盟广告或统计代码,逐一核对是否被改。
- 把这次入侵的入口和处置记录写下来,半年后你会庆幸写过。
最后一句提醒:如果站内文章大量被搜索引擎标了「可能被入侵」,光清理不够,还需要在搜索资源平台走一次安全审查,否则流量恢复会很慢。
2026年10月22日 10:41
前后30天 · 点日期看归档
9月22日
9月23日
9月24日
9月25日
9月26日
9月27日
9月28日
9月29日
9月30日
10月1日
10月2日
10月3日
10月4日
10月5日
10月6日
10月7日
10月8日
10月9日
10月10日
10月11日
10月12日
10月13日
10月14日
10月15日
10月16日
10月17日
10月18日
10月19日
10月20日
10月21日
10月22日
10月23日
10月24日
10月25日
10月26日
10月27日
10月28日
10月29日
10月30日
10月31日
11月1日
11月2日
11月3日
11月4日
11月5日
11月6日
11月7日
11月8日
11月9日
11月10日
11月11日
11月12日
11月13日
11月14日
11月15日
11月16日
11月17日
11月18日
11月19日
11月20日
11月21日