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

Как закрывал уязвимости?

DOM и браузер

Уязвимости закрывают, устраняя причину: экранирование ввода против XSS, `SameSite`/токены против CSRF, параметризованные запросы против инъекций, безопасное хранение токенов, обновление зависимостей и security-заголовки.

Как закрывают основные уязвимости

XSS

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

CSRF

  • SameSite cookie, CSRF-токены, проверка Origin.

Инъекции (SQL)

  • Параметризованные запросы, ORM, валидация.

Небезопасная авторизация / IDOR

  • Проверка прав на каждый ресурс, хеширование паролей, короткие токены.

Небезопасное хранение

  • Токены в памяти/HttpOnly cookie, не в localStorage.

Clickjacking

  • X-Frame-Options: DENY, frame-ancestors.

Уязвимые зависимости

  • npm audit, обновление пакетов.

Утечка секретов

  • Env-переменные, секрет-хранилища, не коммитить.

Процесс

  1. Найти (аудит, сканеры, ревью, pen-test).
  2. Оценить критичность.
  3. Устранить причину.
  4. Проверить и покрыть тестом.
  5. Мониторить (Sentry, логи).

Ориентир

OWASP Top 10 — чеклист основных уязвимостей и защит.

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

Уязвимости закрывают по причинам: XSS — экранирование/CSP/DOMPurify; CSRF — SameSite/токены; инъекции — параметризованные запросы; авторизация/IDOR — проверка прав, хеш паролей; хранение — память/HttpOnly; clickjacking — X-Frame-Options; зависимости — npm audit. Процесс: найти → оценить → устранить → проверить → мониторить (OWASP Top 10).

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