WordPress网站PHP文件遭恶意代码感染求助
解决WordPress文件反复被注入恶意代码的步骤
1. 揪出持久化的后门
- 查定时任务:执行
crontab -l看当前用户的定时任务,同时检查/var/spool/cron/、/etc/cron.d/、/etc/cron.hourly/这些系统级定时目录,找不明就里的脚本执行计划。 - 扫隐藏文件:用
find /你的网站根目录 -type f -name ".*"排查网站目录下的隐藏文件,比如.xxxx.php这类伪装的后门脚本,还要检查用户目录下的.bashrc、.profile是否被篡改。 - 查PHP全局配置:打开
php.ini和网站根目录的user.ini,看auto_prepend_file、auto_append_file这两个配置项,要是指向陌生脚本,直接清空。 - 看运行进程:执行
ps aux | grep -v grep,找持续运行的可疑PHP进程,直接杀掉并溯源脚本位置。
2. 彻底清理恶意代码
- 批量删注入代码:用命令批量清理所有PHP文件末尾的恶意代码,先替换成你的网站根目录:
建议先拿一个测试文件跑find /你的网站根目录 -name "*.php" -type f -exec sed -i '/<?php $dAglL = '\''b'\''. '\''ase64'\''. '\''_d'\''. '\''ecode'\'';.*eval.*?>/d' {} \;sed '/<?php $dAglL = '\''b'\''. '\''ase64'\''. '\''_d'\''. '\''ecode'\'';.*eval.*?>/d' 测试文件.php确认效果,再批量执行。 - 重装核心文件:哪怕是最新版,核心文件也可能留了暗门。从WordPress官网下对应版本的压缩包,解压后直接覆盖
wp-admin、wp-includes目录,还有根目录的wp-login.php、wp-load.php等核心PHP文件,别碰wp-config.php和wp-content。
3. 修复权限漏洞
- 重置文件权限:
- 目录权限设为755:
find /你的网站根目录 -type d -exec chmod 755 {} \; - 文件权限设为644:
find /你的网站根目录 -type f -exec chmod 644 {} \;
- 目录权限设为755:
- 限制上传目录执行PHP:在
wp-content/uploads目录的.htaccess里加这段,禁止该目录跑PHP:<Directory wp-content/uploads> php_flag engine off </Directory>
4. 加固WordPress安全
- 禁用冗余文件:比如
xmlrpc.php,在根目录.htaccess里加:<Files xmlrpc.php> Order Deny,Allow Deny from all </Files> - 锁死后台访问:只允许你的IP进
wp-admin,在.htaccess里加:<Files wp-admin> Order Deny,Allow Deny from all Allow from 你的常用IP </Files> - 强制双重验证:给所有管理员账号开2FA,防止账号被盗用。
- 清理可疑账号:删掉陌生的管理员账号,所有管理员密码换成包含大小写、数字、符号的强密码。
5. 监控后续异动
- 实时监控文件变化:用
inotifywait监控网站目录,只要PHP文件被修改就报警:inotifywait -m -r -e modify,create,delete /你的网站根目录 | grep "\.php" - 定期查日志:看服务器的访问日志(比如
/var/log/apache2/access.log)和错误日志,找频繁访问xmlrpc.php、wp-login.php的可疑IP。
内容的提问来源于stack exchange,提问作者Krystian
相关产品推荐
相关产品推荐

