Output encoding + Content Security Policy (CSP)

Контрол върху начина, по който untrusted data се рендерира в HTML/JS/URL contexts.

Приоритет P0свързана с 4 атаки

Какво е

Контрол върху начина, по който untrusted data се рендерира в HTML/JS/URL contexts.

Как работи

Context-aware encoding предотвратява превръщането на данни в executable markup; CSP ограничава допустимите script sources и execution patterns.

Как XSS се прекъсва

Ако user-controlled text се рендерира като text, browser-ът не трябва да го интерпретира като HTML/JavaScript. Output encoding прави точно това за съответния context.

CSP добавя втори слой: дори injection да съществува, browser policy може да ограничи откъде и как се изпълнява script.

Типична „CSP“, която не помага особено

Широки wildcard sources + unsafe-inline + unsafe-eval. Header има, security property почти няма.

Как да проверим

Използвайте CSP report-only при rollout, следете violations и постепенно преминете към nonce/hash-based policy.

Практическа имплементация

  • Framework auto-escaping.
  • CSP nonce/hash model.
  • Trusted Types за high-risk frontends.
  • Avoid dangerous DOM sinks.

Какво НЕ решава

Слаб CSP с unsafe-inline/широки wildcard-и може да е декоративен.

Предпазва най-силно от

Други в Сигурност на приложения и API