Quanto è sfruttabile un sito che ascolta i messaggi del browser da chiunque?
Sto lavorando su un sito in cui ho trovato alcuni problemi di iframe. Il caso è che il sito A ha un iframe del sito B, e il sito A ascolta i "messaggi" di ovunque e quindi può eseguire due diverse azioni quando arriva un messaggio:
- Imposta document.location="dati del messaggio in arrivo"
- Crea un modulo e imposta il valore dell'attributo dell'azione su "dati del messaggio in arrivo", aggiungilo al DOM e quindi invia il modulo.
Ciò significa che posso configurare il sito Evil, includere un iframe del sito A e quindi iniziare a inviare messaggi arbitrari, ad esempio "javascript: alert (1)", che in entrambi i casi precedenti eseguirà il javascript nell'iframe contesto. Prima di riferire questo alle persone per cui lavoro, ho bisogno di uno scenario in cui questo sarebbe un grosso problema. Ed è qui che diventa complicato, perché non riesco davvero a trovare uno scenario in cui questo sarebbe un problema significativo. Le idee che ho sono:
- Posso eseguire javascript nel contesto del sito A, ma non riesco ad ottenere i cookie a causa di SoP.
- Potrei impostare un ascoltatore chiave sul sito Evil e fare in modo che un iframe del sito riempia lo schermo chiedendo un accesso, in questo modo raccogliendo gli accessi per il sito A. Ciò richiederebbe un po 'di ingegneria sociale per funzionare correttamente.
Ma questo è il meglio che posso inventare, quindi la mia domanda è: ho completamente trascurato qualcosa? Googling in giro non offre altre opzioni.
EDIT:
Ovviamente questo apre il sito A (per chi lavoro) per XSS attraverso il sito B (che è una società semi conosciuta, ma ancora). Un altro punto su cui sto pensando è perché mai qualcuno farebbe QUALCHE COSA? Crea un modulo e invia e rispondi con alcuni dati ricevuti? Non riesco a capire un buon motivo per farlo in questo modo, forse qualcuno di voi brave persone può?
EDIT2:
Sembra che non ci sia modo di aggirare la stessa politica di origine anche se posso eseguire javascript arbitrario nel contesto del sito A attraverso l'iframe che si trova su Site Evil. Quindi non c'è nulla su questa 'vulnerabilità' che lo rende diverso da un utente malintenzionato per fare in modo che un utente faccia clic su un link arbitrario.