Для ThinkPHP устранение PHP2Shell требует исправления среды PHP. Версия приложения помогает выявить несовместимость, но не доказывает возможность эксплуатации или исправление обеих CVE.
ThinkPHP - Совместимость PHP для устранения PHP2Shell
| Пример выпуска | Заявленное требование PHP | Кандидаты по декларации | Первоисточник |
|---|---|---|---|
| v5.0.25 | >=5.4.0 | repo.packagist.org ↗643c58ed1bd2 | |
| v5.1.42 | >=5.6.0 | repo.packagist.org ↗ecf1a90d397d | |
| v6.0.16 | >=7.2.5 | repo.packagist.org ↗d3904e51e279 | |
| v6.1.5 | >=7.2.5 | repo.packagist.org ↗57d1950a1844 | |
| v8.0.4 | >=8.0.0 | repo.packagist.org ↗846432655a82 |
Кандидаты сопоставляют лишь декларацию с первыми исправлениями PHP2Shell в поддерживаемых ветках. Это не подтверждение тестирования, поддержки поставщика или совместимости всех зависимостей. Совместимость PHP для устранения PHP2Shell ↗
Определить объём работ по PHP2Shell
Файлы и идентификатор пакета
topthink/framework
composer.lockthinkphp/base.phpapp/
ThinkPHP - Устранить препятствия исправлению PHP2Shell
Различайте ThinkPHP 5.0, 5.1, 6 и 8, отдельные ORM и шаблонизатор. У скопированного каталога может не быть lock-файла. Проверьте маршруты, middleware, старые behaviors и свои теги. Не заменяйте только каталог фреймворка в рабочей системе.
Зависимости и собственный код
Официальная документация ↗Проверка функций после устранения PHP2Shell
Инвентаризация перед исправлением PHP2Shell
Используйте разрешённую рабочую копию.
php -v
php --ini
composer --no-plugins show --locked topthink/framework
composer --no-plugins check-platform-reqs --lock
composer --no-plugins prohibits php 8.3.36 --lockedThinkPHP - Проверить исправления PHP2Shell
Проверьте обе CVE в PHP, обслуживающем этот сайт. Замените или перезапустите старые Web-процессы, обработчики очередей и реплики. Рабочая главная страница или новый CLI не служат достаточным доказательством.
3. Перезапустите и проверьте всё ↗