9
votes

Sécurité XSS. Communication entre 2 iframes du même domaine

domaine abc.com a une page avec 2 iframes. Les deux sont chargés de domaine xyz.com. Will XSS Security Block JavaScript Access / Communication / Interaction entre ces deux iframes?


0 commentaires

4 Réponses :


3
votes

Oui, car pour obtenir une référence au document dans l'autre image, vous devez utiliser le document parent. XXX

Accéder aux cadres de fromage pourrait également vous permettre de déterminer quels autres domaines le Le document parent a chargé, qui pourrait être interprété comme une vulnérabilité.


3 commentaires

Un fichier CrossDomain.xml serait-il sur le domaine ABC.com qui permet à ZXY.com résoudre le problème?


Je ne sais pas beaucoup sur les fichiers de stratégie de crossomain, mais je suppose que c'est possible si le navigateur le supporte.


Nan. crossdomain.xml est pour Flash, cela n'affecte pas la même stratégie d'origine JS. Ps. C'est fenêtre.parent .



0
votes

Les iframes ne pourront obtenir aucun contenu de la page principale par JavaScript par la même stratégie d'origine (SOP).

Cependant, ils seront capables de faire des appels (d'arriver à des extensions) à votre serveur à l'aide de vos cookies (ceci s'appelle CSRF). Donc, ne reposez pas seulement pour session des cookies pour votre sécurité.

Un bon moyen d'éviter cela, c'est avoir un jeton dans votre page principale (invisible aux iframes) que vous passez à chaque appel à votre serveur.


0 commentaires

4
votes

Comme Joel dit, le La même stratégie d'origine bloquera l'accès à la fenêtre parente.

vous peut Configurer un canal de communication entre les scripts côté client sur les documents / cadres / fenêtres distinctifs du même domaine en utilisant des cookies. Un document définit document.cookie pour écrire un cookie, puis l'autre, sur un pollier d'intervalle, lit document.cookie , trouve quelque chose de nouveau à celui-ci et traite cela comme une message.

C'est vraiment plutôt ennuyeux, car vous devez obtenir chaque document pour s'identifier et signaler quand et à qui il envoie des messages. Méthode de la dernière revue seulement, vraiment.


3 commentaires

Nope, il vous suffit de continuer à regarder sur une boucle de sondage (seinterval).


N'oubliez pas que si les cookies deviennent grands, ils briseront des demandes (il y a des limites de la taille d'un ensemble d'en-têtes de demande).


Je recommanderais d'utiliser localStorage ou SessionStorage au lieu de cookies.



6
votes

Eh bien, cela dépend de ce que vous entendez par communiquer. Il semble que certains types de communication sont possibles. Voici un exemple: HTML sur www.abc.com:

<a href="javascript:alert(document.body.innerHTML)" target="test1">click me</a>

PeCeuce Les iframes sont nommés Nous pouvons le faire dans cadre2: p> xxx pré>

donc nous cliquons sur le Lien dans le cadre 2, mais le contenu du cadre 1 est affiché. p> p>


0 commentaires