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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-13673 — CVE-2025-13673: Tutor LMS SQL-инъекция PoC + Docker lab | Kitploit
Инструменты/GitHubGitHub/dinosn/cve-2025-13673
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubdinosn/cve-2025-13673

CVE-2025-13673

CVE-2025-13673: Tutor LMS SQL-инъекция PoC + Docker lab

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

Популярное

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

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

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

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

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

CVE-2025-13673 — Лаборатория SQL-инъекций Tutor LMS

Неаутентифицированная SQL-инъекция в плагине WordPress Tutor LMS (<= 3.9.6) через параметр coupon_code.

Быстрый старт

root@kitploit:~
# 1. Clone and start the lab
git clone https://github.com/dinosn/CVE-2025-13673.git
cd CVE-2025-13673
./setup.sh            # Deploys WordPress + Tutor LMS 3.9.3

# 2. Run the exploit
pip install requests   # only dependency

# Unauthenticated (time-based blind — no credentials needed)
python3 exploit.py http://localhost:8080

# Authenticated (UNION-based — instant extraction)
python3 exploit.py http://localhost:8080 -u testuser -p test123 --all

Детали уязвимости

ПолеЗначение
CVECVE-2025-13673
Затронутые версииTutor LMS <= 3.9.6
Исправлено3.9.7
ТипSQL Injection (CWE-89)
CVSS7.5 / 9.3
АутентификацияНе требуется (blind) / Подписчик (UNION)

Первопричина

QueryHelper::prepare_where_clause() строит SQL WHERE через конкатенацию строк:

root@kitploit:~
// helpers/QueryHelper.php — VULNERABLE
$value = is_numeric( $value ) ? $value : "'" . $value . "'";

Без экранирования. Одинарная кавычка разрывает литерал и позволяет выполнять произвольный SQL.

Векторы атаки

Неаутентифицированный: POST / с tutor_action=tutor_pay_now. Хук init WordPress обрабатывает это для всех посетителей. _tutor_nonce встроен на каждую страницу фронтенда и действует для анонимных сессий. Извлечение данных через SLEEP().

Подписчик и выше: POST /wp-admin/admin-ajax.php с action=tutor_apply_coupon. Возвращает JSON с внедрёнными данными UNION SELECT — два столбца отображаются в ответе для мгновенного извлечения.

Исправление (3.9.7)

root@kitploit:~
- $val = is_numeric( $val ) ? $val : "'" . $val . "'";
+ // Value now passed through $wpdb->prepare('%s', $value)

Использование эксплойта

root@kitploit:~
usage: exploit.py [-h] [-u USERNAME] [-p PASSWORD] [--course-id COURSE_ID]
                  [--dump-users] [--db-info] [--options] [--all]
                  [--delay DELAY]
                  url

Modes:
  Default (no -u/-p):  Unauthenticated time-based blind SQLi
  With -u/-p:          Authenticated UNION-based (fast)

Examples:
  exploit.py http://target                            # unauth blind
  exploit.py http://target -u student -p pass --all   # auth UNION

Тестирование разных версий

root@kitploit:~
# Test version 3.9.5 (has esc_sql partial mitigation)
./setup.sh 3.9.5

# Test version 3.9.7 (should be fixed)
./setup.sh 3.9.7

Файлы

ФайлОписание
exploit.pyДвухрежимный PoC: неаутентифицированный blind + аутентифицированный UNION
setup.shРазвёртывание лаборатории одной командой
docker-compose.ymlWordPress 6.7 + MySQL 8.0

Ссылки

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

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

Только для авторизованного тестирования безопасности и образовательных целей.

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