
Python-инструмент для эксплуатации, объединяющий путаницу в REST batch-маршрутах CVE-2026-63030 с SQL-инъекцией CVE-2026-60137 для достижения неаутентифицированного RCE в WordPress, чтения базы данных и развёртывания веб-шелла.
Автор: LANGZ
CVE: CVE-2026-63030 (в связке с CVE-2026-60137)
Критичность: Критическая (CVSS 9.8)
Тип: Удалённое выполнение кода до аутентификации (RCE)
Этот инструмент предоставляется исключительно в образовательных целях и для авторизованного тестирования безопасности.
Используя этот инструмент, вы соглашаетесь с тем, что:
Если вы используете этот инструмент против системы без разрешения, вы совершаете преступление.
Автор не одобряет, не поддерживает и не несёт никакой ответственности за такие действия.
CVE-2026-63030 — это уязвимость путаницы маршрутов пакетной обработки REST API (CWE-436) в ядре WordPress, появившаяся в версии 6.9. В связке с CVE-2026-60137 (слепая SQL-инъекция в параметре author__not_in в WP_Query) она позволяет неаутентифицированному злоумышленнику добиться полного удалённого выполнения кода на стандартной установке WordPress.
Что может сделать злоумышленник:
Почему это опасно:
Обновите WordPress до исправленной версии:
| Текущая версия | Обновить до |
|---|---|
| 6.9.0 – 6.9.4 | 6.9.5 |
| 7.0.0 – 7.0.1 | 7.0.2 |
| 6.8.0 – 6.8.5 | 6.8.6 (только исправление SQLi) |
Примечание: WordPress включил принудительные автообновления, но сайты с отключёнными автообновлениями или управляющим хостингом, задерживающим обновления, остаются уязвимыми. Убедитесь, что обновление было успешно применено.
POST-запросы к /wp-json/batch/v1POST-запросы к ?rest_route=/batch/v1Ищите:
POST-запросы к /wp-json/batch/v1 или ?rest_route=/batch/v1 в логах доступа/wp-content/cache/ или других доступных через веб каталогахЕсли вы обнаружили индикаторы компрометации, простого удаления файлов и учётной записи администратора недостаточно. Проведите полное реагирование на инцидент и рассмотрите полную пересборку системы.
Цепочка эксплойта объединяет две уязвимости:
Пакетный обработчик REST API WordPress (serve_batch_request_v1) имеет ошибку индексации на единицу. Когда wp_parse_url() завершается ошибкой на пути подзапроса (например, "///"), полученный WP_Error добавляется в $validation[], но не в $matches[]. Это рассинхронизирует два массива, из-за чего каждый последующий запрос отправляется под неправильным обработчиком.
Вложив тщательно структурированный пакет внутрь другого пакета, злоумышленник может направить запрос, проверенный схемой одной конечной точки, через callback совершенно другой конечной точки — полностью обходя проверки разрешений.
Запутанный запрос попадает в параметр author__not_in в WP_Query. WordPress преобразует строку в массив, но пропускает санитизацию через absint(), что позволяет выполнить сырую SQL-инъекцию. Инструмент использует это для:
UNION SELECT)WP_PostПосле завершения подготовки (обнаружение префикса таблиц и ID администратора) полезная нагрузка для повышения привилегий срабатывает в одном HTTP-запросе:
UNION)Затем инструмент использует сгенерированные учётные данные администратора для развёртывания веб-шелла на основе плагина для выполнения команд ОС.
# Проверка одной цели
python3 wp2shell.py http://target.com
# Проверка с активным подтверждением SQLi
python3 wp2shell.py http://target.com --confirm-sqli
# Чтение базы данных (отпечаток)
python3 wp2shell.py http://target.com --read --preset fingerprint
# Чтение логинов пользователей и хешей паролей
python3 wp2shell.py http://target.com --read --preset users
# Развернуть веб-шелл и выполнить команду
python3 wp2shell.py http://target.com --shell --cmd id
# Интерактивный шелл
python3 wp2shell.py http://target.com --shell -i
# Массовое сканирование из файла
python3 wp2shell.py targets.txt
Запустите без аргументов, чтобы открыть интерактивное меню:
python3 langz.py
══════════════════════════════════════════════════════════════
██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗
██║ ██╔══██╗████╗ ██║██╔════╝ ╚══███╔╝
██║ ███████║██╔██╗ ██║██║ ███╗ ███╔╝
██║ ██╔══██║██║╚██╗██║██║ ██║ ███╔╝
███████╗██║ ██║██║ ╚████║╚██████╔╝███████╗
╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝
▓▒░ L A N G Z T O O L S ░▒▓
Author : LANGZ
CVE : (CVE-2026-63030)
──────────────────────────────────────────────────────────────
[1] Single Target - Check
[2] Mass Target - Check
[3] Single Target - Auto Admin
[4] Mass Target - Auto Admin
[5] Exit
──────────────────────────────────────────────────────────────
Results -> Results/results.txt
══════════════════════════════════════════════════════════════
Этот проект предоставляется исключительно в образовательных целях и для авторизованного тестирования безопасности.
Автор LANGZ не несёт никакой ответственности за любое злоупотребление или ущерб, вызванный этим инструментом.
Автор: LANGZ
CVE: CVE-2026-63030
| Аспект | Детали |
|---|
| Уязвимые версии | WordPress 6.9.0 – 6.9.4, WordPress 7.0.0 – 7.0.1 |
| Уязвимы только к SQLi | WordPress 6.8.0 – 6.8.5 (только CVE-2026-60137) |
| Требуется аутентификация | Нет |
| Взаимодействие с пользователем | Нет |
| Влияние | Полная компрометация сайта — чтение/запись базы данных, загрузка произвольных PHP-файлов, выполнение команд ОС |
| Статус эксплуатации | Активно эксплуатируется в дикой природе; зафиксировано 62 802+ уникальных атакующих IP |
| Флаг | Описание |
|---|
--timeout | Тайм-аут запроса в секундах (по умолчанию: 15) |
--proxy | HTTP-прокси (например, http://127.0.0.1:8080) |
--threads | Параллельные потоки для массового сканирования (по умолчанию: 50) |
--sleep | Задержка SQL-тайминга для слепого подтверждения (по умолчанию: 3) |
--samples | Пары таймингов для подтверждения (по умолчанию: 3) |
--confirm-sqli | Отправить активную полезную нагрузку для подтверждения SQLi |
--preset | fingerprint или users |
--query | Пользовательское SQL-выражение для чтения |
--prefix | Префикс таблиц базы данных (по умолчанию: wp_) |
--max-length | Максимум символов на значение (по умолчанию: 128) |
--technique | auto, union, blind или error |
--user | Имя пользователя администратора (для --shell) |
--password | Пароль администратора (для --shell) |
--cmd | Команда для выполнения на цели |
-i, --interactive | Открыть интерактивный шелл |