El siguiente es un escenario para un ataque donde un sitio web puede suplantar a otro. Me dicen (incluso por esta respuesta ) que es imposible, pero me gustaría entender exactamente qué lo impide.
Alice usa sitios web que obtienen un recurso JS de confianza del servidor de Bob, usando HTTPS para evitar ataques MITM. El recurso de Bob es popular, y comienza a usar un CDN para distribuirlo. Ahora, el navegador de Alice está haciendo una conexión HTTPS a un servidor que pertenece a la CDN.
El CDN utiliza nombres alternativos del sujeto para compartir un certificado entre varios clientes cuyos sitios comparten una dirección IP en el CDN. Eva tiene un sitio que está en el mismo certificado que el de Bob (1). Eve conoce la cafetería favorita de Alice y puede interceptar las señales en el wifi allí.
Como Eve no tiene la clave privada del certificado, no puede leer el tráfico HTTPS de Alice. En su lugar, espera una solicitud del recurso en el sitio de Bob (2) y la reemplaza por una solicitud a su propio sitio, a través de la misma dirección IP de CDN que apunta a ambos sitios. El servidor CDN descifra la solicitud, obtiene un recurso malicioso del sitio de Eve y lo cifra utilizando el certificado compartido. El navegador de Alice ve una respuesta válida de la IP de CDN a la que envió la solicitud y, aparentemente, no tiene razón para no aceptarla. Tenga en cuenta que Eve no necesita modificar la respuesta mediante MITMing: el servidor CDN envía el contenido malicioso desde un servidor detrás de él.
- O es capaz de hackear en uno. Uno de ellos está destinado a ser inseguro.
- ¿La URL está cifrada en una solicitud HTTPS? Si es así, suponga que Eve reemplaza todas las solicitudes que van a la dirección IP relevante y las apuestas sobre detección son poco probables.
No estoy especialmente familiarizado con SSL, así que estoy dispuesto a creer que algo en eso no se cumple, pero no estoy seguro de qué, exactamente.