CRLF Injection — Injection de retours chariot
★★★★★
Définition
En injectant des séquences \r\n (%0d%0a) dans une entrée reflétée dans les en-têtes HTTP, un attaquant peut ajouter des en-têtes arbitraires, fixer des cookies, voire scinder la réponse (HTTP Response Splitting) et injecter du contenu/XSS.
Payloads
# Injection d en-tête / fixation de cookie
/page?lang=fr%0d%0aSet-Cookie:%20session=attacker
# Response splitting -> XSS
/redirect?url=%0d%0a%0d%0a<script>alert(1)</script>
# Injection dans en-tête Location
/r?u=https://x%0d%0aSet-Cookie:%20admin=true Défenses
Supprimer/encoder \r et \n dans toute donnée insérée dans un en-tête, utiliser les API de framework qui interdisent les caractères de contrôle, et valider strictement les valeurs reflétées (URL de redirection, langue, etc.).