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

Какие уязвимости важны на практике и как их применять?

DOM и браузер

Важные уязвимости — XSS, CSRF, инъекции, небезопасная авторизация, clickjacking — и защита от каждой строится на валидации, экранировании и правильных заголовках безопасности.

Уязвимости и защита

XSS (межсайтовый скриптинг)

Внедрение чужого JS через неэкранированный ввод. Защита: экранирование вывода, автоэкранирование React/Vue, DOMPurify, CSP, HttpOnly cookie.

CSRF (подделка запросов)

Запрос от имени жертвы через её cookie. Защита: SameSite cookie, CSRF-токены, проверка Origin.

SQL/NoSQL инъекции

Вредоносный код в запросе к БД. Защита: параметризованные запросы, ORM, валидация ввода.

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

Доступ к чужим ресурсам, слабое хранение токенов. Защита: проверка прав на каждый ресурс, хеширование паролей, короткие токены, HttpOnly.

Clickjacking

Обёртка сайта в невидимый iframe. Защита: X-Frame-Options: DENY, frame-ancestors.

Прочее

  • MITM → HTTPS.
  • Уязвимые зависимости → аудит (npm audit).
  • Утечка секретов → не хранить в коде/логах.

Общие принципы

  • Не доверять клиентскому вводу, валидировать на сервере.
  • Принцип наименьших привилегий.
  • HTTPS, security-заголовки (CSP, HSTS), актуальные зависимости.

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

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

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

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