Для 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 та власні теги. Не замінюйте лише каталог thinkphp у виробництві.
Залежності та власний код
Офіційна документація ↗Перевірка функцій після усунення 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
Перевірте обидва виправлення в PHP, що обслуговує цей сайт. Замініть або перезапустіть старі Web-процеси, обробники черг і репліки. Робоча головна сторінка чи новий CLI не є достатнім доказом.
3. Перезапустіть і перевірте все ↗