Проверяйте публичные сайты, локальные настройки и журналы или выбирайте открытые инструменты. Каждый результат объясняет основания и ограничения.

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 и узлы без прокси также требуют патча.