Yii 网站修复 PHP2Shell,需要修补实际运行的 PHP 解释器。应用版本用于识别兼容障碍,不能单独证明网站可被利用,也不能证明两个 CVE 已修复。
Yii - 修复 PHP2Shell 要核对哪些 PHP 兼容版本
候选仅将该声明与受支持分支的首个 PHP2Shell 修复版本比对,不代表已经通过兼容测试、仍有厂商支持或全部依赖均匹配。 修复 PHP2Shell 要核对哪些 PHP 兼容版本 ↗
确认 PHP2Shell 修复范围
文件与软件包身份
yiisoft/yii2
composer.lockprotected/config/web.php
Yii - 排除 PHP2Shell 修复中的兼容障碍
先区分 Yii 1、Yii 2 与 Yii 3。yiisoft/yii2 样本只描述 Yii 2 的某个补丁,不代表所有 2.0 版本,更不代表 Yii 1。检查扩展、RBAC、ActiveRecord、widgets 和资源构建。跨框架世代需要修改应用,不能只改 Composer 约束。
需要排查的依赖与二次开发
官方升级文档 ↗PHP2Shell 修复后的业务验收
修复 PHP2Shell 前的只读盘点
命令示例
php -v
php --ini
composer --no-plugins show --locked yiisoft/yii2
composer --no-plugins check-platform-reqs --lock
composer --no-plugins prohibits php 8.3.36 --lockedYii - 核实 PHP2Shell 修复
在真正承载本站请求的 PHP 中核实两个 CVE 的补丁。替换或重启旧 Web 工作进程、队列进程和全部副本。首页能打开或 CLI 版本变新,都不足以证明修复完成。
3. 重启并验证所有实例 ↗