но как конкретно они могут плучить доступ к моему сайту на WordPress?

 Чтобы понять, как именно злоумышленник получает доступ, важно осознать одну ключевую вещь: **они не взламывают WordPress. Они взламывают сам PHP-интерпретатор до того, как WordPress вообще "проснется" и начнет выполнять свой код.**


Это как если бы вор не подбирал замок к двери вашей квартиры (защита плагинов WordPress), а просто сломал входную дверь всего подъезда (уязвимость в ядре PHP).


Вот пошаговый технический сценарий того, как происходит атака на ваш сайт (на основе анализа уязвимостей CVE-2026-109618 и CVE-2026-109619, известных как PHP2Shell):


### Шаг 1: Выбор цели и отправка триггера (без пароля)

Злоумышленнику не нужен логин или пароль администратора. Он отправляет на ваш сайт специально сформированный HTTP POST-запрос с заголовком `Content-Type: multipart/form-data` (этот формат используется браузерами для загрузки файлов). 

Запрос может быть отправлен на **любой** PHP-файл WordPress, который доступен публично: `index.php`, `wp-admin/admin-ajax.php` или `xmlrpc.php`.


### Шаг 2: Искусственное переполнение памяти (OOM Corruption)

Внутри этого запроса содержатся сотни тысяч специально упакованных полей или гигантские заголовки. PHP начинает парсить этот запрос, быстро исчерпывает лимит памяти (`memory_limit`) и пытается аварийно завершить обработку (вызывает функцию `zend_bailout`). 

Из-за первой дыры (CVE-2026-109618) при этом аварийном выходе память очищается некорректно. Возникает классическая уязвимость типа **Use-After-Free (UAF)**: PHP "забывает" освободить определенные структуры данных, и в памяти остаются "висячие" указатели (dangling pointers).


### Шаг 3: Отравление состояния воркера (State Pollution)

Веб-серверы обычно используют PHP-FPM, где один и тот же "воркер" (процесс PHP) обслуживает множество запросов подряд, чтобы не тратить ресурсы на постоянный перезапуск. 

Из-за второй дыры (CVE-2026-109619) после аварийного завершения первого запроса глобальное состояние этого воркера (включая механизмы отслеживания загрузки файлов `session.upload_progress`) остается "подвешенным" и поврежденным. Воркер не умирает, он ждет следующий запрос.


### Шаг 4: Удаленное выполнение кода (RCE)

Злоумышленник немедленно отправляет **второй**, короткий и тщательно рассчитанный запрос тому же самому воркеру PHP-FPM. 

Поскольку память повреждена, PHP думает, что выполняет легитимную внутреннюю функцию обработки сессии, но на самом деле он переходит по адресу, который контролирует атакующий. Это позволяет выполнить произвольный системный код (Shellcode) с правами пользователя, от которого запущен веб-сервер (обычно `www-data`).


---


### Что происходит после получения доступа (RCE)?

Как только злоумышленник получил возможность выполнять код на уровне сервера, WordPress для него становится просто набором текстовых файлов. За считанные секунды автоматизированный скрипт может:

1. **Создать скрытого администратора**: Дописать новую запись напрямую в базу данных MySQL или добавить код в `wp-config.php`, который создает пользователя с правами Administrator при каждом посещении сайта.

2. **Загрузить веб-шелл**: Создать файл (например, `wp-content/uploads/shell.php`), через который можно управлять сервером через браузер.

3. **Украсть данные**: Скачать дамп базы данных со всеми контактами клиентов, заказами и хэшами паролей.

4. **Превратить сервер в ботнет**: Использовать ресурсы вашего хостинга для DDoS-атак, рассылки спама или майнинга криптовалюты.


---


### Почему ваши текущие средства защиты бессильны?

* **Плагины безопасности (Wordfence, iThemes Security и др.)**: Они загружаются *после* того, как PHP уже обработал запрос. К моменту их запуска уязвимость уже сработала, и код злоумышленника уже выполняется.

* **Обычные WAF (межсетевые экраны)**: Многие из них не могут глубоко инспектировать содержимое `multipart/form-data` из-за риска ложных срабатываний и нагрузки, поэтому пропускают вредоносную нагрузку.


### Что вам нужно сделать прямо сейчас?

Поскольку атака не требует авторизации и нацелена на механизм загрузки, у вас есть два реальных пути защиты:


1. **Идеальный**: Обновить PHP на сервере до патченной версии (8.2.35, 8.3.36, 8.4.27 или 8.5.12) через панель управления хостингом (например, ISPmanager).

2. **Экстренный (если обновление невозможно)**: Зайти в настройки PHP и отключить `session.upload_progress.enabled = Off`. Это лишает эксплойт его основного "моста" для перехода от повреждения памяти к выполнению кода, ломая цепочку атаки [[53]].


Если вы используете общий (виртуальный) хостинг и у вас нет доступа к настройкам PHP, **немедленно напишите в техподдержку вашего хостинг-провайдера** с требованием применить эту меру или обновить PHP, так как промедление измеряется часами.

Comments

Popular posts from this blog

Заработок на Арабах

60 запретных стоп-слов - Выяснить уровень СПАМности рассылки