Межсайтовый скриптинг (XSS)
Определение
Межсайтовый скриптинг (XSS) — уязвимость, из-за которой недоверенные данные попадают на страницу и браузер выполняет их как код доверенного источника. Такой код получает полномочия страницы: читает доступные данные, меняет интерфейс и отправляет запросы.
Также ищут: Cross-site scripting · XSS · script injection
Зачем это знать
Такой код может читать доступные данные, менять интерфейс и отправлять запросы с полномочиями сеанса браузера.
Карта понятия
Что подтверждено
XSS возникает, когда недоверенные данные попадают в исполняемый контекст браузера или опасный приёмник и воспринимаются как код, а не как данные.
Граница применимости: Модель выполнения XSS в браузере.
Контекстное кодирование и безопасные API устраняют опасную интерпретацию; CSP, атрибуты cookie и WAF лишь ограничивают часть последствий и путей атаки и не заменяют исправление причины.
Граница применимости: Основные и дополнительные уровни защиты от XSS.
Что проверить
- Найдите источник данных и место их использования.
- Используйте безопасные API.
- Кодируйте данные для конкретного контекста.
Первоисточники
- Cross Site Scripting Prevention Cheat Sheet
Определяет context-specific output encoding и safe sinks; CSP и WAF рассматривает как дополнительные, а не основные XSS controls.
- Content Security Policy Level 3
Определяет CSP directives, source lists, nonce-source и browser enforcement для загрузки и исполнения content.
Утверждения: 02
- Cookies: HTTP State Management Mechanism
Базовый стандарт Cookie и Set-Cookie: синтаксис, атрибуты Secure, HttpOnly, Path, Domain. SameSite в нём НЕТ — он появился в 6265bis, см. ietf-6265bis-cookies.
Утверждения: 02