HTTP Response Splitting
Qu'est-ce que HTTP Response Splitting ?
HTTP Response SplittingVulnérabilité d'injection où des caractères CR/LF non fiables dans une entrée utilisateur forcent le serveur à émettre des réponses HTTP supplémentaires contrôlées par l'attaquant.
Le HTTP response splitting (injection CRLF) survient lorsqu'une application reflète l'entrée utilisateur dans des en-têtes de réponse — typiquement Location, Set-Cookie ou des en-têtes personnalisés — sans filtrer les retours chariot et sauts de ligne. En injectant %0d%0a, l'attaquant termine le bloc d'en-têtes original et insère des en-têtes, une ligne de statut, voire une seconde réponse complète. Conséquences : empoisonnement de cache, XSS, fixation de session, fuite d'identifiants vers les intermédiaires. CWE-113 et CVE-2004-0500 sont les divulgations historiques. Mitigations : rejeter ou échapper CR/LF dans les valeurs d'en-tête, utiliser des frameworks qui interdisent l'injection de nouvelles lignes, préférer les helpers de redirection qui URL-encodent leurs entrées.
● Exemples
- 01
Définir un en-tête Location à partir d'un paramètre contenant %0d%0a pour injecter Set-Cookie.
- 02
Scinder une réponse pour qu'un cache stocke un corps contrôlé par l'attaquant pour /home.
● Questions fréquentes
Qu'est-ce que HTTP Response Splitting ?
Vulnérabilité d'injection où des caractères CR/LF non fiables dans une entrée utilisateur forcent le serveur à émettre des réponses HTTP supplémentaires contrôlées par l'attaquant. Cette notion relève de la catégorie Vulnérabilités en cybersécurité.
Que signifie HTTP Response Splitting ?
Vulnérabilité d'injection où des caractères CR/LF non fiables dans une entrée utilisateur forcent le serveur à émettre des réponses HTTP supplémentaires contrôlées par l'attaquant.
Comment se défendre contre HTTP Response Splitting ?
Les défenses contre HTTP Response Splitting combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de HTTP Response Splitting ?
Noms alternatifs courants : Injection CRLF HTTP, Injection d'en-têtes HTTP.