Какой вектор атаки для XSS

«Какой вектор атаки для XSS» — вопрос из категории Безопасность, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

XSS (Cross-Site Scripting) — это уязвимость, позволяющая злоценному скрипту выполняться в браузере жертвы. Основные векторы:

  1. Reflected XSS — скрипт встраивается в URL и отражается сервером без фильтрации.
    Пример: http://site.com/search?q=<script>alert(1)</script>

  2. Stored XSS — вредоносный код сохраняется на сервере (например, в комментариях) и выполняется при загрузке страницы.
    Пример: <img src="x" onerror="stealCookies()">

  3. DOM-based XSS — атака через манипуляции с DOM без участия сервера.
    Пример:

    document.write(location.hash.slice(1)); // #<script>alert(1)</script>

Защита: экранирование данных (HTML, JS, URL), CSP, HttpOnly-куки, санитайзинг через DOMPurify.