2013-02-23 10 views
5

Próbowałem wstrzyknąć skrypt wewnątrz elementu iframe próbującego implementować w ten sposób, dziecko i rodzic nie należą do tej samej domeny (wiem, że XSS jest zablokowane w najnowszych przeglądarkach) czy jest jakiś sposób na wstrzyknięcie skryptu do elementu podrzędnego przycisku kliknij na element nadrzędny. (trochę podobne skrypty do uruchomienia w konsoli chrome)Skrypt iniekcyjny wewnątrz iframe innej domeny

var myIframe = document.getElementById("myIframeId"); 
var script = myIframe.contentWindow.document.createElement("script"); 
script.type = "text/javascript"; 
script.src = "randomshit.js"; 
myIframe.contentWindow.document.body.appendChild(script); 
+0

Nie, zasady dotyczące pochodzenia w różnych domenach zabraniają tego. Strony mogą jednak komunikować się za pomocą wiadomości. –

Odpowiedz

5

Nie. Same Origin Policy pochodzi z Netscape 2.0.

Jeśli nie możesz zhakować/XSS plików z innej witryny, aby wstrzyknąć JS, będziesz miał trudności.

Teraz, jeśli masz uzasadnioną potrzebę komunikacji z drugą stroną i możesz mieć kontrolę nad drugą stroną lub skonfigurować ją do komunikacji z serwerem, możesz użyć window.postMessage, JSONP lub nawet Ajax z CORS (ostatnie 2 to być trudniejszym do przekazania zawartości dynamicznej). Ale uważam, że tak nie jest.

Powiązane problemy