CRLF Injection
MedioCRLF Injection / HTTP Response Splitting
Definición
CRLF Injection ocurre cuando un atacante puede inyectar caracteres de retorno de carro (\r) y nueva línea (\n) en las cabeceras HTTP de la respuesta. Esto permite dividir la respuesta HTTP, inyectar cabeceras arbitrarias, establecer cookies maliciosas o incluso inyectar contenido HTML/JavaScript en el cuerpo de la respuesta.
Impacto
Inyección de cabeceras HTTP arbitrariasEstablecimiento de cookies maliciosas (session fixation)Cross-Site Scripting (XSS) a través de inyección en el cuerpo de la respuestaEnvenenamiento de caché webBypass de políticas de seguridad (CSP, CORS)
Ejemplos
CRLF Injection para inyectar cabecera Set-Cookie
Inyectando %0d%0a (CRLF codificado en URL) en el parámetro, el atacante puede agregar cabeceras HTTP arbitrarias como Set-Cookie, potencialmente fijando una sesión o estableciendo cookies maliciosas.
# URL legítima con parámetro de redirección GET /redirect?url=/dashboard HTTP/1.1 # Payload CRLF GET /redirect?url=%0d%0aSet-Cookie:%20admin=true%0d%0a HTTP/1.1 # Respuesta del servidor: HTTP/1.1 302 Found Location: /dashboard Set-Cookie: admin=true