È possibile ottenere un flash src dopo un reindirizzamento o un elemento all'interno di un tag embed / object / iframe (cross-domain)?

1

L'URL example.com/auth reindirizzerà automaticamente l'utente (HTTP 302) a example.com/signed_in.SWF?token=SENSITIVE.

È possibile che un utente malintenzionato rubi il token, utilizzando javascript o flash, nell'esempio seguente? Come?

<!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>

Considerache:

  1. Ilprecedente.htmlèospitatoincross-domain.com,propriocomequalsiasialtrofilecoinvoltonella"soluzione" ( .swf , .js , .html , .css , ecc.);
  2. Non hai il controllo su example.com ;
  3. Non hai il controllo su signed_in.SWF ;
  4. Puoi cambiare il tag < embed > in < oggetto > o < iframe > ;
posta 28.08.2015 - 22:57
fonte

1 risposta

-1

Se l'utente è autenticato e un utente malintenzionato riesce a utilizzare un qualche tipo di exploit per iniettare javascript (o flash) nella pagina, quindi , l'utente malintenzionato sarà in grado di rubare il token segreto. Semplicemente fanno una richiesta usando AJAX all'endpoint / auth e leggono l'URL di reindirizzamento che ritorna. Ciò è stato reso possibile di recente dall'aggiunta del parametro responseURL alle richieste XHR . Possono quindi farlo con il token come desiderano.

Per evitare questo, puoi utilizzare un metodo per inviare nuovamente il token a cui javascript e flash non possono accedere (come ad esempio l'impostazione di un Cookie HTTPOnly ). In questo modo, l'utente malintenzionato può effettuare tutte le richieste all'endpoint, ma non sarà in grado di accedere al cookie utilizzando javascript.

Se hai bisogno che il token sia leggibile da tuo javascript, allora hai un po 'più di un problema complicato.

    
risposta data 29.08.2015 - 05:27
fonte

Leggi altre domande sui tag