Los sitios web tienen varios métodos implementados para indicar al navegador que siempre use HTTPS: encabezado HSTS, redirección del servidor a HTTPS, política de CSP. Sin embargo, la primera vez que un usuario visita el sitio puede estar sobre HTTP HTTP. Solo después de que el navegador sepa que el sitio debería estar sobre TLS, siempre lo utilizará.
Pero, ¿qué sucede si un ataque tiene acceso al tráfico durante la primera visita y actúa como un hombre en medio?
Por ejemplo, el atacante podría realizar un ataque de fijación de sesión. El atacante visita el sitio y se le asigna una cookie con un ID de sesión. Cuando el usuario visita el sitio a través de HTTP, el atacante responde en nombre del servidor y asigna su cookie al usuario. Entonces el atacante deja pasar todo el tráfico hacia adelante. El usuario realiza solicitudes con el ID de sesión del atacante, regala información, etc. Ahora el atacante puede realizar solicitudes con ese ID y obtener la información del usuario.
¿Qué se puede hacer para detener este tipo de ataque?