GET
peticiones pueden ser forzadas sobre usted fácilmente. Básicamente, suponga que hay un servidor seguro con el que usted habla con GET
peticiones bajo la protección de HTTPS y el establecimiento de certificados y cualquier otra cosa que pueda imaginar como protección adicional. Llamemos a www.example.com
este servidor. Algunas de estas solicitudes están destinadas a tener un efecto, por ejemplo, una solicitud GET
para:
https://www.example.com/[email protected]
activa un proceso en su servidor que culmina con el envío de un correo electrónico a la dirección especificada.
Ahora, un atacante laborioso te sigue y espera a que te sientes en un restaurante de comida rápida con WiFi gratis; él sabe que usted se conectará a ese WiFi y participará en una navegación casual por la web. El atacante saca sus propios puntos de acceso WiFi portátiles (como ese ) y espera a que se conecte a su hardware. . En ese momento, el atacante puede ver y modificar todo su tráfico. Por supuesto, SSL lo mantiene fuera. Sin embargo, cuando navega casualmente, no visita solo el sitio web de HTTPS. Si su navegador alguna vez realiza una conexión a un sitio web HTTP (sin SSL), el atacante solo tiene que insertar el siguiente texto en el HTML devuelto:
<img src="https://www.example.come/[email protected]"/>
yboom!Acabasdeenviarspamalpapa.Dehecho,alveresepequeñofragmentodeHTML,sunavegadorenvíadebidamenteunasolicitudGET
aladirecciónespecificada.EstofuncionaindependientementedelaprocedenciadelapáginaenlaqueapareceestaetiquetaHTML;LassolicitudesGET
delasetiquetas<img>
evadentotalmentela Política del mismo origen .
POST
peticiones no pueden ser fabricadas de esa manera. Por lo tanto, independientemente de lo seguro que esté de hablar con los servidores que desea, deberá usar GET
de las solicitudes para el procesamiento solo lectura .