Reflected XSS (Отраженный межсайтовый скриптинг) — это тип уязвимости, при котором вредоносный скрипт внедряется в параметры HTTP-запроса (например, URL) и сразу же «отражается» (возвращается) уязвимым веб-сервером в ответе.
Пользователь активирует атаку, переходя по специально созданной злоумышленником фишинговой ссылке, после чего браузер жертвы выполняет внедренный код.
Как работает атака: шаг за шагом
- Создание приманки: Злоумышленник создает вредоносный URL-адрес, содержащий полезную нагрузку (payload), например скрипт для кражи cookie-файлов.
- Рассылка: Ссылка отправляется пользователю через фишинговое письмо, мессенджер или социальные сети
- Переход по ссылке: Пользователь кликает по ссылке, переходя на доверенный сайт.
- Отражение: Уязвимый сайт принимает небезопасные данные из параметров ссылки и встраивает их в исходный код страницы, которую отправляет обратно в браузер пользователя.
- Выполнение: Браузер жертвы видит этот скрипт, считает его частью страницы и выполняет, не подозревая подвоха.
Ключевые особенности
- Непостоянство (Non-persistent): Вредоносный код не сохраняется на сервере (в отличие от Stored XSS). Он существует только на момент перехода по скомпрометированному URL.
- Необходимость социальной инженерии: Для срабатывания атаки злоумышленнику требуется заставить жертву кликнуть по уникальной ссылке.
- Последствия: Украденные сессионные куки (захват аккаунта), перенаправление на фишинговые страницы или кража конфиденциальных данных, введенных на скомпрометированной странице.
Как защититься
- Экранирование (Output Encoding): Все пользовательские данные перед выводом на экран должны быть должным образом преобразованы (контекстно-зависимое кодирование). Например, угловые скобки превращаются в безопасные HTML-сущности (< и &qt;)
- Входная валидация (Input Validation): Применение строгой фильтрации или валидации входных данных (например, разрешен только определенный формат, такой как номер телефона или число).
- Content Security Policy (CSP): Использование политик CSP для ограничения доменов, откуда браузеру разрешено загружать и выполнять скрипты, а также полного запрета выполнения инлайн-скриптов.


