PHP 8.1.24 存在未修复的内存级 RCE 漏洞(如 CVE-2026-109618),必须通过隔离入口、精准清木马、分层清除、强制升级至 8.2.35+/8.3.36+/8.4.27+ 并加固配置来彻底处置。

PHP 8.1.24 属于已知高危版本(8.1 系列无官方修复分支,所有 8.1.x 版本均不受支持且存在未修复的 RCE 漏洞),攻击者可利用其远程执行命令并上传木马。清理不能只删文件,必须覆盖“识别—清除—加固”三层,否则几小时内就会复发。
第一步:立即隔离并确认攻击入口
PHP 8.1.24 本身存在内存级 RCE 漏洞(如 CVE-2026-109618),攻击者可能无需登录、不传文件就获得执行权限。先做三件事:
- 临时停用 PHP-FPM 或将 Web 服务指向维护页,阻断继续利用
- 检查
/var/log/nginx/access.log或apache2/access_log,搜索含.php?&、eval(、base64_decode、system(的请求,定位最早异常 IP 和路径 - 运行
ps aux | grep -E "(php|sh|curl|wget)"查看非常驻进程;用lsof -i :80,443确认是否有非 Nginx/Apache 进程在监听端口
第二步:精准定位隐藏木马文件
后门常伪装成正常文件或藏在非代码目录,不能只扫 .php:
- 查最近修改的可疑文件:
find /var/www -type f \( -name "*.php" -o -name "*.phtml" -o -name "*.php5" \) -mtime -5 -ls 2>/dev/null - 搜危险函数(含变形写法):
grep -r -E "(eval|assert|system|shell_exec|passthru|exec|popen|proc_open|preg_replace.*\/e)|base64_decode|gzinflate|str_rot13" /var/www --include="*.php" --include="*.phtml" 2>/dev/null - 重点盯这些位置:
/uploads/、/tmp/、/cache/、/wp-content/(若为 WordPress)、/images/下的“空白”或“随机名” PHP 文件(如a.php、123.php、cache.php.bak) - 别漏数据库后门:WordPress 查
wp_options表中option_name含theme_mods、widget_或值为 base64 编码的option_value
第三步:清除要分层,不止删文件
木马往往多点驻留,单删 Web 目录文件等于白干:
立即学习“PHP免费学习笔记(深入)”;
-
Web 层:删除确认的恶意 PHP 文件;恢复被篡改的模板(如
header.php、index.php)为原始备份 -
系统层:检查
crontab -l和sudo -u www-data crontab -l,删掉陌生定时任务;查/etc/cron.d/下新增文件 -
配置层:检查
php.ini中是否被注入auto_prepend_file或extension=加载恶意 so 文件;检查 Nginx 的fastcgi_param是否被篡改(如加了恶意PHP_VALUE) -
用户层:用
last和lastlog查异常登录;用cat /etc/passwd | awk -F: '$3==0{print $1}'看是否有新 root 用户;禁用所有非必要账号
第四步:加固必须一步到位,否则白清
PHP 8.1.24 不再维护,升级是唯一根本解法:
- 升级 PHP 至受支持版本:至少升到 8.2.35+、8.3.36+ 或 8.4.27+(根据你的环境兼容性选),升级后重启
php-fpm和 Web 服务 - 禁用高危函数:在 php.ini 中设置
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec(注意不要禁掉mysqli等业务必需函数) - 限制上传目录权限:
chmod 755 /var/www/html/uploads,确保该目录下无法执行 PHP(Nginx 配置中加location ~ ^/uploads/.*\.php$ { return 403; }) - 重置全部凭证:数据库密码、后台管理员密码、FTP 账号、API key、SSH 密钥——攻击者极可能已窃取
PHP 8.1.24 的漏洞不是配置问题,是引擎级缺陷。清理只是止损,升级才是止血。临时关站一天,好过反复被挂三天。



















