
# Консультация, описывающая отражённую XSS-уязвимость в Event Management System v1.0 от PuneethReddyHC, включая анализ воздействия, шаги воспроизведения и рекомендации по смягчению последствий.
Название: Отражённый межсайтовый скриптинг (XSS) через параметр event_id в register.php
Поставщик / Репозиторий: PuneethReddyHC / event-management
Затронутая версия: 1.0 (ветка/тег master на момент тестирования)
Автор отчёта: Hafiz Pradana Gemilang
Статус раскрытия: Поставщик уведомлён в частном порядке — PoC-эксплойт скрыт для безопасности пользователей.
Статус и сроки будут обновлены после координации или выпуска исправления.
В register.php выявлена уязвимость отражённого межсайтового скриптинга (XSS), где GET-параметр event_id не проходит должную санитизацию перед отражением в выводе страницы.
Удалённый злоумышленник может создать вредоносный URL, который выполняет произвольный JavaScript в браузере жертвы после того, как она перейдёт по ссылке или будет перенаправлена на неё.
⚠️ В этом уведомлении намеренно отсутствует активная эксплойт-нагрузка.
Полное доказательство концепции было предоставлено поставщику в частном порядке для разработки исправления.
/register.php?event_id=<value>
Пример (локальное тестирование):
http://<host>/event-management-master/register.php?event_id=1
Успешная эксплуатация позволяет выполнять произвольный JavaScript в контексте затронутого домена.
Возможные последствия:
HttpOnly)Оценочный CVSS v3.1: 6.1 (Средний) — AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
event_id.Полная нагрузка и доказательство концепции были переданы поставщику в частном порядке.
Если вы являетесь сопровождающим и вам требуется доступ, свяжитесь с автором отчёта (см. ниже).
Примените проверку на стороне сервера и кодирование вывода, чтобы предотвратить отражённый XSS.
Проверка входных данных
Если event_id является числовым, обеспечьте числовую проверку:
$event_id = filter_input(INPUT_GET, 'event_id', FILTER_VALIDATE_INT);
if ($event_id === false) {
// обработать недопустимый ввод
}
Кодирование вывода
Экранируйте данные, предоставленные пользователем, перед выводом в HTML:
echo htmlspecialchars($event_id, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
Используйте безопасные фреймворки или шаблоны
Отдавайте предпочтение фреймворкам, которые автоматически выполняют контекстно-зависимое экранирование.
Безопасные файлы cookie
Установите флаги HttpOnly, Secure и SameSite для сессионных файлов cookie.
Политика безопасности контента (CSP)
Примените строгую CSP и избегайте использования unsafe-inline.
Проверка кода и аудит
Проверьте все остальные отражаемые параметры во всём приложении.
// Проверка числового ввода
$event_id = filter_input(INPUT_GET, 'event_id', FILTER_VALIDATE_INT);
if ($event_id === false || $event_id === null) {
$event_id = 0; // или показать ошибку / перенаправить
}
// Безопасный вывод
?>
<span id="event-id"><?= htmlspecialchars($event_id, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') ?></span>
<?php
htmlspecialchars(): https://www.php.net/manual/en/function.htmlspecialchars.phpАвтор отчёта: Hafiz Pradana Gemilang
Поставщик: PuneethReddyHC / event-management
В этом уведомлении намеренно опущен подробный код эксплойта для защиты пользователей затронутого программного обеспечения.
Полные технические детали доступны поставщику или уполномоченным координаторам по запросу в рамках условий ответственного раскрытия.