Come si costruisce un attacco XSRF usando un iframe?

0

So che puoi facilmente attivare una serie di POST / GET su un sito web di destinazione usando un iframe come ho fatto in passato per manipolare la variabile di sessione sui miei siti.

La mia domanda riguarda più: quali informazioni posso ottenere da un altro sito web che carico in un iframe?

Se ho ragione, la stessa politica di origine dovrebbe bloccare la lettura del contenuto iframe se la pagina che carico nell'iframe non proviene dallo stesso dominio della pagina contenente l'iframe. C'è un modo per aggirarlo?

Se ci sono informazioni che ho assolutamente bisogno di leggere sulla pagina, come un token di invio di moduli unico, come monterai l'attacco?

    
posta Gudradain 28.06.2014 - 18:25
fonte

2 risposte

1

La cosa più vicina alla tua domanda è un attacco di Clickjacking (riparazione dell'interfaccia utente).

Qui è dove si carica un altro sito Web all'interno di un IFrame che contiene un pulsante per consentire all'utente di fare clic. Ad esempio tu (l'utente malintenzionato) potresti caricare l'URL sul sito web della banca di un utente nella forma https://www.example.com/money_transfer.aspx?to_account=12345&amount=1000000 dove 12345 è il tuo numero di conto. Se sono già registrati nella loro banca e la risposta è un modulo HTML contenente un singolo pulsante Transfer , puoi disegnare la tua interfaccia utente nella tua pagina esterna che sostituirà il pulsante con una che ha detto Get a free iPad now! .

Quando l'utente ignaro fa clic sul pulsante iPad gratuito sul tuo sito, fa infatti clic sul pulsante Trasferisci sul sito web della sua banca per trasferire i soldi.

Questo tipo di attacco può essere sconfitto impostando l'intestazione HTTP X-Frame-Options quale moderna i browser obbediranno e impediranno il caricamento del sito Web all'interno di un frame.

L'accesso all'IFrame caricato utilizzando lo scripting è vietato a causa della Stessa politica di origine - l'unico modo per aggirare questo se l'utente utilizza qualche vecchio browser non supportato o un browser che presenta una vulnerabilità in cui l'origine non è stata controllata correttamente.

L'altra possibilità è un Rebinding Attack - lo scopo di questo è solitamente limitato come i cookie inviati all'IP di estensione sarà uguale al dominio dell'utente malintenzionato.

    
risposta data 29.06.2014 - 01:50
fonte
0

Questa è più una domanda del programmatore, ma ottieni il documento del frame secondario come:

link

Accedi ai frame per nome. Quindi se il nome del tuo iframe="myFrame", puoi accedervi come:

window.frames [ "MyFrame"]. Documento

C'è anche una proprietà contentWindow su iframe.

link

Per quanto riguarda ciò che puoi fare secondo le leggi della stessa politica di origine, non ho molta familiarità con questo, ma HLMGTFY: link

    
risposta data 28.06.2014 - 20:37
fonte

Leggi altre domande sui tag