Vulnerabilidad HTTP Host header attacks

 

www.onlinetis.com

Los ataques al encabezado HTTP Host son una vulnerabilidad que ocurre cuando un servidor web utiliza el valor del encabezado Host para generar enlaces, redirecciones o rutas de archivos de manera incorrecta, sin validación. Si un atacante puede manipular este encabezado, puede redirigir a los usuarios a sitios maliciosos, realizar ataques de restablecimiento de contraseña o envenenar la caché web.

¿Qué es el encabezado Host?

El encabezado Host es una parte esencial de las solicitudes HTTP/1.1. Le dice al servidor web a qué dominio o nombre de host se dirige la solicitud. Por ejemplo, en una solicitud para http://ejemplo.com/, el encabezado Host sería Host: ejemplo.com.

El problema surge cuando la aplicación web confía ciegamente en el valor de este encabezado, en lugar de utilizar el nombre de host de la configuración del servidor.


Tipos de ataques al encabezado Host

1. Envenenamiento de caché web (Web Cache Poisoning)

Un atacante puede enviar una solicitud con un encabezado Host manipulado. Si la aplicación usa este valor para generar contenido en la respuesta y un servidor de caché la almacena, todos los usuarios posteriores que soliciten esa página recibirán la versión envenenada. Esto podría llevar a una redirección a un sitio de phishing o a la ejecución de código malicioso.

2. Redirecciones maliciosas

Muchas aplicaciones usan el encabezado Host para generar redirecciones. Por ejemplo, un sitio web podría redirigir a un usuario de http://ejemplo.com a http://www.ejemplo.com. Un atacante puede manipular el encabezado Host para que la aplicación redirija a los usuarios a un sitio bajo su control, como http://sitio-malicioso.com.

3. Restablecimiento de contraseña

Algunas aplicaciones envían un correo electrónico para restablecer la contraseña que contiene un enlace con el nombre del host del sitio. Un atacante podría manipular el encabezado Host para que el enlace de restablecimiento de contraseña apunte a un servidor controlado por él. Si un usuario hace clic en el enlace, el atacante obtendrá el token de restablecimiento y podrá cambiar la contraseña de la cuenta del usuario.


Prevención

Para mitigar esta vulnerabilidad, los desarrolladores y administradores de sistemas deben:

  • No confiar en el encabezado Host: Siempre que sea posible, el servidor debe usar el nombre de host configurado internamente en lugar de confiar en el valor proporcionado por la solicitud.

  • Validar y sanear el encabezado Host: Si es necesario usar el encabezado Host, se debe validar que su valor coincida con un nombre de dominio conocido. También se deben eliminar caracteres especiales y evitar que se use en contextos de generación de rutas de archivo.

  • Configurar el servidor web de forma segura: En servidores como Apache y Nginx, se pueden configurar VirtualHosts o server_names para que solo respondan a nombres de host específicos. Las solicitudes con encabezados Host no válidos deben ser rechazadas.

 

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC