Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

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

Категории

Все категории
Loading categories
CVE-2026-63030 — CVE-2026-63030 - WordPress REST Batch Route-Confusion SQL Injection Proof of Concept | Kitploit
Инструменты/GitHubGitHub/ch4120n/cve-2026-63030
Сканеры уязвимостейЭксплуатацияВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubch4120n/cve-2026-63030

CVE-2026-63030

CVE-2026-63030 - WordPress REST Batch Route-Confusion SQL Injection Proof of Concept

Репозиторий
2422 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-63030

WordPress REST Batch Route-Confusion SQL Injection (CVE-2026-63030) — доказательство концепции
Исследование, разработка эксплойта и документация: Ch4120N

CVE Python License Status


⚠️ Правовое уведомление

Этот репозиторий и сопутствующий инструмент (exploit.py) предназначены строго для образовательных целей, авторизованного тестирования на проникновение и исследований в области безопасности.
Использование этого эксплойта против целей без явного, предварительного, письменного согласия незаконно и нарушает законы о компьютерном мошенничестве и злоупотреблениях во всём мире. Автор (Ch4120N) не несёт абсолютно никакой ответственности за неправомерное использование, ущерб или правовые последствия, возникшие в результате использования этого кода. Всегда действуйте в рамках закона и получайте соответствующее разрешение.


📖 Обзор уязвимости: CVE-2026-63030

CVE-2026-63030 — критическая уязвимость без аутентификации, затрагивающая WordPress REST API. Она эксплуатирует ошибку путаницы маршрутов (route-confusion) во вложенной конечной точке пакетной обработки (/wp-json/batch/v1 или /?rest_route=/batch/v1).

Корневая причина

Когда WordPress обрабатывает пакет REST API запросов, он проверяет каждый подзапрос на соответствие его конкретной схеме перед выполнением. Однако из-за недостатка в том, как внутренний указатель маршрутизации обрабатывает намеренно повреждённые пути (например, ///), схема проверки рассинхронизируется с фактическим обработчиком выполнения.

Цепочка атаки

  1. Путаница маршрутов и SQLi: злоумышленник внедряет вложенную пакетную полезную нагрузку. Из-за рассинхронизации запрос, нацеленный на конечную точку /wp/v2/users (которая не принимает author_exclude), выполняется обработчиком /wp/v2/posts. Несанированный параметр author_exclude передаётся напрямую в условие author__not_in в WP_Query, что приводит к неаутентифицированной SQL-инъекции.
  2. Создание администратора до аутентификации: SQLi используется для чтения базы данных и определения ID записей oembed_cache. Затем эксплойт использует полезную нагрузку changeset из Customizer для отравления кэша меню навигации, обманывая WordPress и заставляя его выполнить запрос на создание пользователя в контексте существующего администратора.
  3. Удалённое выполнение кода (RCE): с помощью новосозданной поддельной учётной записи администратора инструмент проходит аутентификацию, загружает PHP-плагин-вебшелл со случайным именем и защитой по токену, выполняет команды ОС и безопасно удаляет все следы.

Затронутые версии

  • WordPress 6.9.0 – 6.9.4
  • WordPress 7.0.0 – 7.0.1 (Примечание: более старые версии могут быть уязвимы в зависимости от конкретных конфигураций плагинов и бэкпортов REST API).

🚀 Возможности

  • Ноль зависимостей: 100% стандартная библиотека Python 3. pip install не требуется.
  • Модульность в одном файле: все компоненты (Client, SQLi, Exploit, Shell, CLI) аккуратно организованы в одном переносимом скрипте (exploit.py).
  • Многотехниковая экстракция SQL: автоматически перебирает доступные методы от самого быстрого:
    1. На основе UNION: внутриполосная экстракция путём создания поддельной строки WP_Post (1 запрос на значение).
    2. На основе ошибок: использует ошибки XPATH функции EXTRACTVALUE(), если включён WP_DEBUG_DISPLAY.
    3. Слепая Boolean/Timing: извлечение символов бинарным поиском с настраиваемыми задержками сна.
  • Автоматический мост до аутентификации: не нужны существующие учётные данные; инструмент на лету создаёт собственную учётную запись администратора.
  • Эфемерный вебшелл: генерирует уникальный идентификатор (slug) плагина и криптографически безопасный токен. Шелл отказывается выполнять команды без токена и самоуничтожается после использования.
  • Автоматическая очистка: автоматически удаляет поддельную учётную запись администратора и каталог плагина-вебшелла при выходе.
  • Интерактивный REPL: предоставляет псевдотерминал, который сохраняет состояние удалённой рабочей директории (поддержка cd).

📦 Установка и требования

Сторонние пакеты не требуются. Убедитесь, что установлен Python 3.8 или выше.

# Clone the repository
git clone https://github.com/Ch4120N/CVE-2026-63030.git
cd CVE-2026-63030

# Make the script executable
chmod +x exploit.py

# Verify Python version
python3 --version
# Executing the script
python3 exploit.py

💻 Подробное использование и параметры

Эксплойт разделён на три основные подкоманды: check, read и shell.

Глобальные параметры

Эти параметры применяются ко всем подкомандам:

OptionDescriptionDefault
urlЦелевой базовый URL (например, http://target.com)Обязательно
--rest-routeИспользовать /?rest_route=/batch/v1 вместо /wp-json/batch/v1 (для сайтов с отключёнными постоянными ссылками).False
--timeoutТаймаут HTTP-запроса в секундах.30.0
--proxyHTTP/HTTPS прокси (например, http://127.0.0.1:8080).None

1. check — обнаружение уязвимости

Безопасно проверяет цель, чтобы подтвердить наличие маркеров путаницы маршрутов, и тестирует тайминги SQLi без извлечения данных.

OptionDescriptionDefault
--sleepЗадержка SQL-тайминга (секунды), используемая запасным методом --confirm-sqli.3.0
--samplesКоличество тестируемых пар базовых/задержанных SQL-таймингов.3
--confirm-sqliОтправить активную полезную нагрузку для подтверждения SQLi (добавляет небольшую задержку).False

2. read — извлечение данных из базы данных

Извлекает данные напрямую из базы данных через SQL-инъекцию.

OptionDescriptionDefault
--presetБыстрые пресеты извлечения: fingerprint (версия/пользователь/БД) или users (логины/хеши).fingerprint
--queryВыполнить пользовательское скалярное SQL-выражение (например, "SELECT @@version").None
--prefixПрефикс таблиц базы данных.wp_
--max-lengthМаксимальное количество извлекаемых символов на значение.128
--techniqueТехника извлечения: auto, union, error или blind.auto

3. shell — удалённое выполнение кода

Разворачивает вебшелл и выполняет команды. Если учётные данные не предоставлены, автоматически запускает мост создания администратора до аутентификации.

OptionDescriptionDefault
--userИмя пользователя администратора. (Опустите, чтобы использовать мост до аутентификации).None
--passwordПароль администратора. (Опустите, чтобы использовать мост до аутентификации).None
--cmdОдна команда для выполнения на цели.None
-i, --interactiveОткрыть интерактивный шелл (REPL) после развёртывания.False

🖥️ Примеры выполнения и доказательства работы

Ниже приведены реальные примеры работы инструмента.

Пример 1: Проверка уязвимости

$ python3 exploit.py check http://vulnerable-wordpress.local --confirm-sqli
Скачать инструмент