PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Как бороться с уязвимостями внутри браузеров?

DOM и браузер

С уязвимостями в браузере борются: экранированием ввода (XSS), CSP, `SameSite` cookie (CSRF), HTTPS, безопасным хранением токенов, security-заголовками и аудитом зависимостей.

Основные меры

Против XSS

  • Экранировать вывод (textContent, не innerHTML).
  • Автоэкранирование React/Vue, избегать dangerouslySetInnerHTML.
  • Санитизация HTML (DOMPurify).
  • CSP — блокирует внедрённые скрипты.

Против CSRF

  • SameSite cookie (Lax/Strict).
  • CSRF-токены.
  • Проверка Origin.

Безопасное хранение токенов

  • Access — в памяти, refresh — в HttpOnly cookie.
  • Не в localStorage (XSS).

Транспорт

  • HTTPS — защита от перехвата (MITM).
  • HSTS — принудительный HTTPS.

Security-заголовки

  • Content-Security-Policy, X-Frame-Options (clickjacking), X-Content-Type-Options.

Зависимости

  • Аудит (npm audit), обновление уязвимых пакетов.

Общий принцип

  • Не доверять клиентскому вводу — валидировать на сервере.
  • Принцип наименьших привилегий.
  • Ориентир — OWASP Top 10.

Коротко для собеседования

С браузерными уязвимостями борются: против XSS (экранирование, CSP, DOMPurify), против CSRF (SameSite, токены), безопасное хранение токенов (память/HttpOnly), HTTPS/HSTS, security-заголовки (CSP, X-Frame-Options), аудит зависимостей. Общее — валидация на сервере и принцип наименьших привилегий (OWASP Top 10).

Подробнее: OWASP Top 10

Другие вопросы раздела