145 votes

Comment les widgets Google+ +1 sortent-ils de leur iframe ?

D'une manière ou d'une autre, le fait de passer le curseur sur un widget Google+plus-one peut faire apparaître une info-bulle nettement plus grande que l'écran de l'utilisateur. <iframe> dans lequel il est contenu. J'ai inspecté le DOM pour le confirmer.*

iframe boundaries

Donc :

  1. Quoi ? Comment ?

  2. Ne s'agit-il pas d'une opportunité massive de clickjacking, si elle est utilisée de manière malveillante (imaginez que quelqu'un fasse un MITM pour ces widgets sociaux !)

*Mise à jour : Ce que j'ai vu, c'est que le message de l'infobulle était dans un deuxième, créé dynamiquement iframe .

181voto

Rook Points 34698

Le widget Google +1 est JavaScript qui s'exécute sur votre site web qui construit un iframe . Ce widget JavaScript s'exécute dans le contexte de votre site Web et n'est donc pas limité par la politique de confidentialité de la Commission européenne. Règles d'héritage d'origine pour les iframes . Par conséquent, ce widget JavaScript peut définir tous les événements DOM qu'il souhaite sur le site parent, même s'il semble n'être qu'un simple iframe .

Autre chose, pourquoi Google utilise-t-il un iframe ? Pourquoi ne pas simplement générer un div sur la page ? Eh bien, parce que le lien provient du iframe En effet, un jeton CSRF (cross-site request forgery) peut être intégré à la demande et le site parent ne peut pas lire ce jeton et falsifier la demande. Ainsi, le iframe est une mesure anti-CSRF qui s'appuie sur les règles d'héritage d'origine pour se protéger d'un parent malveillant.

Du point de vue de l'attaque, cela ressemble davantage à un XSS (cross-site scripting) qu'à un UI-Redress. Vous donnez à Google l'accès à votre site Web et il pourrait détourner les cookies de vos utilisateurs ou effectuer des opérations de piratage. XmlHttpRequests contre votre site web s'ils le souhaitent (mais alors les gens les poursuivraient pour être malveillants et riches).

Dans cette situation, vous DEVEZ faire confiance à Google, mais Google ne vous fait pas confiance.

Il existe des moyens d'atténuer l'impact sur la vie privée de ces web-bugs .

3voto

xrd Points 488

Google utilise les iFrames pour éviter les "DIVs standard qui fuient". Leur dialogue de bibliothèque de fermeture fait la même chose. C'est probablement pour éviter que d'autres contenus n'envahissent le bouton +1. http://closure-library.googlecode.com/svn/trunk/closure/goog/demos/dialog.html .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X