
Эксплойт-доказательство концепции для CVE-2026-63030 (WordPress pre-auth RCE) с обнаружением SQL-инъекций, извлечением учетных данных и развертыванием веб-шелла. Включает 8-этапный план эксплуатации и рекомендации по устранению уязвимости.
📖 Сначала прочитайте полный технический анализ: CVE-2026-63030: Объяснение предварительной аутентификации RCE в WordPress
Этот репозиторий содержит proof-of-concept эксплойт, на который ссылается та статья. Начните с блога, чтобы понять уязвимость, её ограничения и процесс воспроизведения.
| Аспект | Детали |
|---|---|
| Уязвимость | CVE-2026-63030 (путаница маршрутов) + CVE-2026-60137 (SQL-инъекция) |
| Тип | Удалённое выполнение кода до аутентификации |
| Оценка CVSS | 9.8 (Критическая) |
| Затронутые версии | WordPress 6.9.0–6.9.4, 7.0.0–7.0.1 |
| Исправлено в | WordPress 6.9.5, 7.0.2+ |
| Влияние | Потенциально затронуто более 500 млн сайтов на WordPress |
| Предварительные условия | Нет — работает на стандартных установках WordPress |
Этот репозиторий содержит:
wordpress-rest-exploit.py — Инструмент эксплойта в одном файле Python (1005 строк, без зависимостей)README.md — Этот файл с настройкой и использованиемPOC.md — Пошаговое руководство по воспроизведению с реальными примерамиLICENSE — Лицензия MITПрежде чем использовать этот эксплойт, поймите критическое ограничение, которое отличает эту уязвимость от того, как о ней сообщалось:
Цепочка уязвимостей реальна и критична. Тем не менее:
Почему? WordPress позволяет использовать пользовательские префиксы таблиц базы данных. По умолчанию используется wp_, но большинство сайтов с усиленной безопасностью используют bw1w_, wordpress_ или случайные строки. Без знания префикса извлечение хэша происходит незаметно.
Статья в блоге объясняет:
./wordpress-rest-exploit.py
Инструмент проведёт вас через:
CVE-2026-63030: WordPress REST Batch Route-Confusion SQLi
------------------------------------------------------------
Target URL: https://example.com/
[*] Проверка, уязвима ли цель к CVE-2026-63030...
[+] Обнаружен WordPress 7.0 (ЗАТРОНУТАЯ ВЕРСИЯ)
[+] УЯЗВИМО - подтверждено поведение путаницы маршрутов в batch
Что вы хотите сделать?
1) Прочитать отпечаток базы данных
2) Извлечь логины пользователей WordPress и хэши паролей
3) Выполнить пользовательский SQL-запрос
4) Развернуть веб-шелл в виде плагина (требуются учётные данные администратора)
5) Подтвердить SQL-инъекцию с помощью временной нагрузки
6) Выход
Выберите опцию [1]:
Это важно понять перед использованием эксплойта.
WordPress позволяет использовать пользовательские префиксы таблиц базы данных для усиления безопасности. Инструмент эксплойта не может автоматически определить префикс.
✅ Стандартный префикс (wp_): Эксплуатация работает
❌ Пользовательский префикс (bw1w_, и т.д.): Эксплуатация незаметно не удаётся
Когда инструмент запрашивает префикс таблицы:
Вариант 1: Вы знаете префикс
Префикс таблицы базы данных [wp_]: bw1w_
[+] Запрос bw1w_users...
[+] Найдены учётные данные!
Вариант 2: Угадайте распространённые префиксы
wp_ (по умолчанию)wordpress_bw1w_ (популярное усиление)wpdb_Вариант 3: Прямой доступ
Если у вас есть SSH-доступ или вы можете прочитать wp-config.php:
$table_prefix = 'bw1w_'; // Нашёл!
Вариант 4: Перебор через SQLi Инструмент может попытаться использовать распространённые префиксы через слепую SQL-инъекцию (медленно, но возможно).
SLEEP(3)wp_users (или пользовательского префикса)Для подробного воспроизведения с реальным выводом команд и примерами смотрите:
👉 POC.md — Полное прохождение 8 этапов
Это руководство включает:
Обновитесь немедленно (наивысший приоритет):
# Обновление до исправленных версий
WordPress 7.0.2 или 6.9.5
Если немедленное обновление невозможно:
Заблокируйте batch-эндпоинт на WAF/обратном прокси:
Блокировка: /wp-json/batch/v1
Блокировка: /?rest_route=/batch/v1
Или полностью отключите REST API (менее предпочтительно):
// Добавить в wp-config.php или mu-plugins
add_filter('rest_endpoints_enabled', '__return_false');
Или требуйте аутентификацию:
add_filter('rest_pre_dispatch', function($response) {
if (strpos($_SERVER['REQUEST_URI'], '/batch/v1') !== false) {
if (!is_user_logged_in()) {
return new WP_Error('rest_batch_unauthenticated', 'Forbidden', ['status' => 401]);
}
}
return $response;
}, 10, 1);
Только для авторизованного тестирования безопасности. Используйте исключительно против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Не предоставляется никаких гарантий и не принимается ответственность за неправильное использование.
Исследование и разработка: Easin Arafat
GitHub: @mrx-arafat
Веб-сайт: arafatops.com
Это proof-of-concept демонстрирует цепочку уязвимостей WordPress wp2shell с практическими методами эксплуатации, обнаружением уязвимости и результатами реального тестирования. Начните со статьи в блоге, чтобы понять полный контекст.
Последнее обновление: Июль 2026
Лицензия: MIT
| Вывод | Влияние |
|---|
| Обнаружение уязвимости работает идеально | Легко определить затронутые сайты |
| SQL-инъекция надёжна | Доступ к базе данных гарантирован (если известен префикс) |
| Префикс таблицы — узкое место | 70% рабочих сайтов защищены |
| Слепая SQLi медленная | 30+ минут на полное извлечение |
| RCE после аутентификации работает безупречно | Полная компрометация системы после аутентификации |
| RCE до аутентификации не раскрыта | Searchlight Cyber не опубликовал технику |