Перевіряйте публічні сайти, локальні налаштування й журнали або знаходьте відкриті інструменти. Кожен результат пояснює докази та межі.

01 / URL

Перевірте свій сайт

Введіть власний публічний сайт. Читаємо одну сторінку й до двох перенаправлень, шукаючи PHP-заголовки та ознаки платформи, без спроб експлуатації.

Необов’язкова онлайн-перевірка надсилає адресу до Cloudflare для DNS і звичайних GET-запитів. Параметри та фрагменти видаляються. Версії, налаштування й журнали залишаються у браузері.

PHP / ?

Не знаєте, яка у вас версія PHP?

WordPress: Інструменти > Здоров’я сайту > Інформація > Сервер. У панелі виберіть конкретний домен і обробник PHP, а не типовий. Через SSH порівняйте php -v із потрібним FPM/Apache або контейнером. Сайти, CLI та репліки можуть відрізнятися. Не публікуйте phpinfo.

02 / LOG

Перевірити підозрілі сигнали журналів

Вставте уривок або виберіть текстовий файл. Показуємо кількість і рядки помилок пам’яті, збоїв, HTTP-помилок та незвичних PHPSESSID. Збіг не доводить злам, відсутність не виключає його.

Локальні межі: налаштування 100 КБ / 2 000 рядків; журнали 2 МБ / 20 000 рядків. Нічого не надсилається. Результати: відомі налаштування або кількість і рядки, без оригінальних журналів і Cookie. Потім очистіть форму.

Спроба чи успішний злам? →

03 / PHP INI

Перевірити налаштування PHP

Вставте php.ini або налаштування пулу FPM. Аналізується лише текст: успадкування, зміни на запит і чинні значення не видно. Це не заміна виправлення.

Локальні межі: налаштування 100 КБ / 2 000 рядків; журнали 2 МБ / 20 000 рядків. Нічого не надсилається. Результати: відомі налаштування або кількість і рядки, без оригінальних журналів і Cookie. Потім очистіть форму.

Межі пам’яті й перезапусків →

Каталог інструментів GitHub

Apache-2.0

Перевірка PHP від OpenAI

Apache-2.0. Node.js-помічник локального інвентаря чи публічних заголовків з JSON. Читайте README до дозволеного застосування. Приховані заголовки, backport і різниця CLI/Web обмежують висновки. Не сертифікат невразливості.

openai/php2shell-checker ↗
BSD-3-Clause

Corelight Zeek / Suricata

BSD-3-Clause. Захисні правила; Zeek 7+ корелює запити/сесії й окремо версії. Інсталяція Zeek не завантажує Suricata. Перевірте налаштування, TLS і хибні тривоги. notice_body_sample_bytes=0 вимикає чутливі фрагменти.

corelight/php2shell-detect ↗
EUPL-1.2

Інформація NCSC-NL

EUPL-1.2. Оновлювані матеріали реагування та список ПЗ для відповідальних і патчів постачальників. Це не сканер інфраструктури; список може бути неповним. Збережіть власні докази пакетів і розгортання.

NCSC-NL/php2shell ↗
Apache-2.0

Trivy для образів та SBOM

Apache-2.0. Загальний інвентар і скан образів/пакетів для вбудованого PHP та перебудови. Залежить від бази, розпізнавання й постачальника. Чистий звіт не доводить обидва патчі PHP2Shell.

aquasecurity/trivy ↗
MIT

Composer audit

MIT. Перевіряє бюлетені залежностей Composer. Інтерпретатор PHP не бібліотека Composer. Чистий audit не оновлює PHP, не досліджує хост і не виключає злам.

composer/composer ↗
MIT

Приклади Apache Syhunt

MIT. Спільнотні обмеження запитів і multipart. Часткове покриття може зламати завантаження; тестуйте. php_value Apache не переноситься без змін на CGI/FastCGI. Лише перевірені тимчасові заходи.

syhunt/php2shell-protection ↗

Безкоштовний сканер доведе злам?

Не остаточно. Заголовки й шаблони дають ознаки без повного середовища, втраченої історії та витоків пам’яті. Інвентаризуйте, збережіть і зіставте. За чужих акаунтів, процесів або витоків ізолюйте та залучіть хостера чи команду реагування.

Запит до хостера

Повідомлення вашому хостеру
Підтвердьте виправлення ОБОХ CVE-2026-109618 і CVE-2026-109619 для Web-середовища мого домену. Потрібні повна ревізія пакета, бюлетень або changelog і підтвердження заміни чи перезапуску всіх FPM/Apache-воркерів, реплік і тривалих процесів. Чи можете перевірити збережені журнали доступу, PHP та процесів?

Першоджерела та додаткові матеріали

PHP security teamЧитати оригінал ↗CVE-2026-109618Читати оригінал ↗CVE-2026-109619Читати оригінал ↗

Дослідження та практичні посібники

>_

Інструменти PHP2Shell

Перевіряйте публічні сайти, локальні налаштування й журнали або знаходьте відкриті інструменти. Кожен результат пояснює докази та межі.

01

PHP2Shell простими словами

PHP виконує WordPress, Laravel і плагіни. Оновлення плагіна не оновлює PHP. Дві помилки пам’яті можуть перетворити ненормальне очищення запиту на витік або виконання коду. Публічна перевірка дає лише ознаки; справжнє Web-середовище й патч підтверджує адміністратор.

02

Спроба чи успішний злам?

Дивний multipart або WAF-подія може бути спробою. OOM, SIGSEGV/SIGABRT і сплески HTTP 500 мають і звичайні причини. Неочікувані дочірні PHP-процеси, з’єднання, файли й облікові записи потребують розслідування. Витік пам’яті може не лишати webshell чи файлів; чисте сканування не виключає його.

03

Спочатку збережіть докази

Запишіть час, домен, інстанс, середовище, симптоми й останній довірений стан. Експортуйте оригінальні логи з поясами, хмарний аудит і доступні дозволені знімки. Обмежте копії та запишіть хеші. Не надсилайте Cookie, токени й дані клієнтів публічним сканерам. Не очищайте журнали й файли до збереження.

04

Як читати Wiz та Calif

Дослідження пояснюють помилки між запитами. CVE-2026-109618 демонструє mod_php RCE; вразливість FPM випливає з коду без повного FPM-експлойта цього CVE. CVE-2026-109619 окремо підтверджує залежний від застосунку FPM upload-progress-шлях. Докази для кожної SAPI читайте у відповідній GHSA.

05

Cloudflare: відповідь також важлива

Cloudflare поєднує запит і відповідь origin, блокуючи підозрілі відповіді до можливого витоку. Корисно й без shell. Історичне розгортання не гарантує вашого покриття: перевірте правила, маршрут, винятки та події. Прямий origin і вузли без проксі також потребують патча.