Come Google+ +1 widget scoppiano loro iframe?
-
26-10-2019 - |
Domanda
In qualche modo, in bilico su un widget di Google+ più uno può introdurre un tooltip di tipo accordo che è chiaramente maggiore rispetto all'elemento <iframe>
in cui è contenuto. Ho ispezionato il DOM per confermare questo. *
-
Che cosa? Come!?
-
Non è questa una grande opportunità per il clickjacking, se usato con cattiveria? (Immaginate qualcuno che fa un MITM per questi widget sociali!)
* Aggiornamento:. Quello che ho visto è stato che il messaggio tooltip-y era in una secondo, iframe
creata dinamicamente
Soluzione
Il Google +1 widget è JavaScript che viene eseguito sul sito web che sta costruendo un iframe
. Questo widget di JavaScript è in esecuzione nel contesto del tuo sito web e quindi non è vincolato dalla origine regole di ereditarietà per iframe . Quindi questo JavaScript widget può impostare qualunque DOM eventi che vuole sul sito padre, anche se sembra essere solo un semplice iframe
.
Un'altra cosa, perché è di Google usando un iframe
? Perché non solo generare un div
sulla pagina? Bene, perché ha origine il collegamento dal iframe
, un CSRF (cross-site request forgery) token può essere incorporati nella richiesta e il sito padre non può leggere questo token e creare la richiesta. Così il iframe
è una misura anti-CSRF che si basa su regole di origine, l'ereditarietà per proteggersi da un genitore malevolo.
Dal punto di vista attacco questo è più come XSS (cross-site scripting) di UI-risarcimento. Si stanno dando l'accesso di Google al tuo sito web e potrebbero dirottare biscotto dei vostri utenti del o eseguire XmlHttpRequests
contro il vostro sito web, se lo desiderano (ma poi la gente li avrebbe citato in giudizio per essere dannoso e ricchi).
In questa situazione, dovete aver fiducia di Google, ma Google non si fida di te.
ci sono modi di mitigare l'impatto sulla privacy di questi web-bugs .
Altri suggerimenti
Google utilizza iframe per evitare "DIV standard, che perde." Il loro dialogo biblioteca chiusura fa la stessa cosa. Probabilmente è solo in modo che gli altri contenuti non possono sanguinare nel pulsante +1. http://closure-library.googlecode.com/svn /trunk/closure/goog/demos/dialog.html .