Немає PHP-розробника? Відновіть доступ, перевірте резервні копії та визначте середовище. Потім виберіть виправлений PHP, міграцію або статичний архів для усунення PHP2Shell.
01
Поверніть доступ і відповідальність
Знайдіть реєстратора, хостинг, сервер/панель, код, доступ БД і платника. Призначте того, хто погоджує роботи й відновлює. Визначте застосунок/версію за файлами. Поверніть відсутні акаунти й джерела до зміни PHP.
02
Збережіть докази та перевірте відновлення
За підозри збережіть журнали до очищення. Код, БД, uploads, налаштування, завдання збережіть датованим зашифрованим комплектом з обмеженим доступом. Запишіть кодування/storage. Відновіть приватно й перевірте вміст/вхід; повідомлення backup недостатньо.
Патч не виключає злам ↗03
Зіставте покоління PHP
PHP 5.3/5.6 може залежати від видалених API. PHP 7 видаляє ext/mysql; PHP 8 видаляє each()/create_function() і посилює типи/сигнатури; PHP 8.2 позначає динамічні властивості застарілими. Читайте кожну міграцію. Давній мінімум не рекомендує старий PHP і не тестує власний код.
04
Оберіть ремонт, міграцію чи архів
Перевірений патч постачальника може дати час; вимагайте обидва CVE і підтримку. Старий PHP потребує підтримуваної цілі, не постійного винятку WAF. Керований застосунок ремонтуйте, покинуті залежності замінюйте; для контенту можливий статичний архів з обробкою входу, пошуку й форм.
05
Створіть реалістичний приватний стенд
Узгодьте Web PHP, розширення, INI, БД і маршрути. Обмежте знеособлені копії, заблокуйте справжню пошту, платежі й production-webhooks. Перевіряйте framework, плагіни й код разом. Збережіть бізнес-приймання й логи; попросіть їх у хостера.
06
Плануйте відкат із записами даних
Зберігайте узгоджені файли/БД. Повернення PHP не повертає схему. Узгодьте зупинку запису або перевірену синхронізацію, критерії помилки, виконавця, строк. Врахуйте нові замовлення після знімка, випробуйте відновлення й звірку.
07
Перевірте справжні служби після зміни
Перевірте Web PHP, усі FPM, черги, задачі, контейнери, репліки; замініть старі процеси. Підтвердьте обидва CVE версією/бюлетенем. Перевірте посилання, вхід, uploads і бізнес. Збережіть логи й вікно відкату; CLI/головної недостатньо.
Перевірити виправлення PHP2Shell ↗Перевірка функцій після усунення PHP2Shell
Вхід, сесії та ролі
Перевірте вхід, вихід, пароль, сесії, адміністратора й ролі тестовим акаунтом.
Глибокі посилання та HTTP
Відкрийте глибоке посилання, форму й відсутню сторінку; порівняйте параметри, перенаправлення та HTTP.
Читання/запис БД
Читайте/пишіть у тестову БД; перевірте драйвери, строгий SQL, транзакції й повернуті значення.
Власні шаблони та escaping
Відобразіть статті, списки, кабінет і помилки; перевірте теги, escaping, кеш і попередження.
Завантаження й мініатюри
Завантажте безпечне зображення, отримайте мініатюру й видаліть; перевірте права, шляхи та URL, блокуючи виконувані файли.
Нові й старі завдання
Обробіть нове й старе завдання новим процесом; перевірте серіалізацію, повтори й дублікати.
Розклад і шляхи PHP
Перевірте реальні PHP, INI та акаунт планувальника; виконайте безпечне завдання й порівняйте після розгортання.
Холодний/теплий кеш і OPcache
Перебудуйте кеші за документацією; перевірте холодні/теплі запити, старі значення й процеси OPcache.
Тестова пошта
Надішліть пошту тестовому збирачу; перевірте шаблони, черги й транспорт без клієнтів.
Замовлення, податки, склад
Оформіть sandbox-замовлення з доставкою, податком, знижкою й поверненням; порівняйте суми, склад, історію.
Sandbox-платежі й сповіщення
Перевірте успіх/відмову платежу й сповіщення; підпис та ідемпотентність проти подвійних списань.
Індекси й фільтри пошуку
Перебудуйте тестовий індекс; порівняйте пошук, фільтри й права окремо від PHP.
Сайти, домени й мови
Перевірте всі сайти, домени й мови з потрібною роллю; cookies, URL, налаштування.
GBK/UTF-8 і перевірка даних
Перевірте символи у формах, БД й експорті; збережіть GBK/UTF-8 до окремої перевіреної конвертації.
Контракти API й callbacks
Перевірте API з/без входу; порівняйте типи JSON, помилки, статуси й callbacks.
Розширення Web/CLI та ABI
Перевірте Web/CLI-розширення та ABI/NTS/ZTS; випробуйте драйвери й служби.
Перевірити виправлення PHP2Shell
Сумісність застосунку, його супровід і безпека PHP перевіряються окремо. Виберіть підтримувану гілку з виправленнями обох CVE та перевірте Web-процеси, завдання й репліки. Оновлення плагіна не замінює PHP.
| Гілка PHP | Вихідні версії нижче | Перша виправлена версія | Кінець оновлень безпеки |
|---|---|---|---|
| PHP 8.5 | < 8.5.12 | ✓ 8.5.12 | 31 груд. 2029 р. |
| PHP 8.4 | < 8.4.27 | ✓ 8.4.27 | 31 груд. 2028 р. |
| PHP 8.3 | < 8.3.36 | ✓ 8.3.36 | 31 груд. 2027 р. |
| PHP 8.2 | < 8.2.35 | ✓ 8.2.35 | 31 груд. 2026 р. |
Звичайних випусків PHP для цих гілок немає. Мінімальні бекпорти коду доступні для 7.4, 8.0 і 8.1. Підтримку постачальника перевіряйте окремо. Читати посібник ↗