El ejemplo de código que proporcionó es una vulnerabilidad de scripts de sitios , ya que permite la ejecución de JavaScript arbitrario , asumiendo que "a" no es de confianza:
a = "\"); evil(); document.write(\""
Un sitio malicioso puede usar un IFrame para explotar un sitio vulnerable a través de CSRF :
En un ataque CSRF típico, el navegador es engañado por un sitio malicioso para enviar una solicitud a un sitio vulnerable. El navegador incluirá las cookies para ese sitio, por lo que la solicitud se autentica desde el punto de vista del sitio vulnerable.
Si bien hay varias formas de activar la solicitud GET, las solicitudes POST entre sitios generalmente se crean al enviar un formulario. Si bien se puede usar JavaScript para activar el envío automáticamente, no se puede usar para ocultar la página de resultados . Entonces, en un simple ataque CSRF basado en POST, se advertirá al usuario después del hecho.
Entonces, el truco es colocar el formulario de envío automático malintencionado en un IFrame invisible . Por lo tanto, el usuario no verá la página web que muestra el resultado del envío.
Un ataque relacionado es click-jacking : el sitio vulnerable (por ejemplo, el de Facebook). botón) se carga en un Iframe transparente y se usa JavaScript para desplazarlo a la ubicación apropiada y mantenerlo posicionado en el cursor del mouse. Si el usuario se cansa de hacer clic en cualquier parte del sitio malicioso, en su lugar, hará clic en el Iframe transparente.