¿Es posible obtener una fuente flash después de una redirección o un elemento dentro de una etiqueta de incrustación / objeto / iframe (dominio cruzado)?

1

La URL example.com/auth redirigirá automáticamente al usuario (HTTP 302) a example.com/signed_in.SWF ? token = SENSITIVE.

¿Es posible que un atacante robe el token, usando javascript o flash, en el siguiente ejemplo? ¿Cómo?

<!DOCTYPE html>
<html>
    <body>
         <embed id="foo" src="https://example.com/auth"></embed><!--Rememberthatexample.com/authwillbeautomaticallyredirectedtoexample.com/signed_in.SWF?token=SENSITIVE--><!--Thecodetostealthetokenvaluemustgohere--></body></html>

Consideraque:

  1. El.htmlanteriorestáalojadoencrossdominio.com,aligualquecualquierotroarchivoinvolucradoenla"solución" ( .swf , .js , .html , .css , etc.);
  2. No tienes control sobre example.com ;
  3. No tienes control sobre signed_in.SWF ;
  4. Puede cambiar la etiqueta < incrustar > a < objeto > o < iframe > ;
pregunta 28.08.2015 - 22:57
fuente

1 respuesta

-1

Si el usuario está autenticado y un atacante logra utilizar algún tipo de vulnerabilidad para inyectar javascript (o flash) en la página, entonces sí , el atacante podrá robar el token secreto. Simplemente realizan una solicitud utilizando AJAX para el punto final / auth y leen la URL de redireccionamiento que regresa. Esto fue posible recientemente mediante la adición del parámetro responseURL a las solicitudes XHR . Luego pueden hacerlo con el token que deseen.

Para evitar esto, puede usar algún método para devolver el token que javascript y flash no pueden acceder (como establecer un Cookie HTTPOnly ). De esa manera, el atacante puede hacer todas las solicitudes que deseen al punto final, pero no podrán acceder a la cookie utilizando javascript.

Si necesitas que el token sea legible por tu javascript, entonces tienes un poco más de un problema difícil.

    
respondido por el Nic Barker 29.08.2015 - 05:27
fuente

Lea otras preguntas en las etiquetas