XSS: типы атак и Content Security Policy

Cross-Site Scripting — внедрение JavaScript-кода в страницы жертвы. Позволяет украсть cookies, session tokens, выполнить действия от имени пользователя.

Три типа XSS

Reflected: payload в URL, срабатывает при переходе. Stored: сохранён в БД (комментарии, ники), опасен для многих пользователей. DOM-based: манипуляция клиентским JS без участия сервера. Все три критичны в контексте игровых платформ.

Векторы

Чат в live-играх: . Профиль игрока: bio, никнейм. Отзывы, поддержка. Реферальные ссылки. Любой user-generated content.

Защита

Output encoding: HTML-escape всех user data. Framework-level защита: React/Vue экранируют по умолчанию, но dangerouslySetInnerHTML опасен. HTTPOnly cookies: недоступны из JS. SameSite=Strict.

Content Security Policy

CSP header: default-src 'self'; script-src 'self' 'nonce-{random}'. Отключение inline JS. Whitelist доменов для внешних ресурсов. Report-only режим для отладки. Report-URI для сбора нарушений. CSP Level 3 с nonces — основной инструмент mitigation в 2025 г.