Un " man in the middle ", por definición, ve todo el tráfico entre los dos Víctimas (cliente y servidor) y pueden alterarlo a voluntad. SSL (HTTPS) derrota a MitM, sujeto a las advertencias habituales (el cliente no debe confiar en una CA deshonesta, el usuario humano no debe hacer clic en las advertencias del navegador sobre un certificado de servidor no válido). Si un sitio es solo para HTTPS, entonces MitM no puede hacer nada. Si el sitio es solo de HTTP, entonces el MitM puede falsificar y falsificar y alterar e inspeccionar los datos a voluntad. Si el sitio es en parte HTTPS, entonces el atacante puede jugar con las partes que no son HTTPS.
Un valor de cookie es un valor enviado por el servidor, almacenado en el cliente, y el cliente lo envía de nuevo al servidor cada vez que habla con él. Si la cookie se marcó como "Secure" y "HttpOnly" , la cookie estará a salvo del MitM (en por lo menos, siempre que no se explote la vulnerabilidad del navegador): la cookie se enviará solo a través de HTTPS, y el navegador no lo hará accesible de otra manera (Javascript malicioso, inyectado en las partes que no son HTTPS del sitio, no podrá leer la cookie tampoco). Por supuesto, esto también significa que el servidor no recibirá la cookie como parte de las solicitudes que no son HTTPS.
Es difícil crear un sitio HTTP / HTTPS mixto que resista a los atacantes de MitM, porque luego necesitas algunas nociones muy claras de límites de seguridad; y el MitM está en buena posición para hacer mucho daño a través de las partes del sitio que no son HTTPS. Si bien las marcas "Seguro" y "HttpOnly" pueden mantener los valores de las cookies fuera del alcance del atacante, la seguridad del sitio web no se trata solo de cookies (los cookies son una herramienta, no un objetivo). Es mucho más simple y más seguro "morder la bala" e ir a HTTPS en todo el sitio.