2011-09-05 19 views
144

Bir şekilde, içinde yer aldığı elemanı çok daha büyük olan bir araç ipucu tipi anlaşma tanıtabilirsiniz Google+ artı biri widget'ı üzerine gelerek. Bunu doğrulamak için DOM kontrol ettik *Google+ +1 widget'ları iframe'lerinden nasıl ayrılır?

iframe boundaries

Yani:.

  1. Ne? Nasıl!?

  2. Bu, kötü niyetli bir şekilde kullanılıyorsa, tıklama için büyük bir fırsat değil mi? (Birisi bu sosyal widget'lar için bir MITM yapıyor düşünün!)

* Güncelleme: Gördüğüm ipucu-y mesajı saniyede olmasıydı, dinamik iframe yarattı.

cevap

180

Google +1 widget iframe inşa ediyor JavaScript that runs on your website olduğunu. Bu JavaScript gereci, web sitenizin içeriğinde çalışıyor ve bu nedenle Origin Inheritance Rules for iframes tarafından kısıtlanmamıştır. Bu nedenle, bu JavaScript gereci, basit bir iframe gibi görünmesine rağmen, ana sitede istediği DOM olaylarını ayarlayabilir.

Başka bir şey, neden Google bir iframe kullanıyor? Neden sadece sayfada div oluşturmuyorsunuz? Bağlantı iframe'dan kaynaklandığı için, bir CSRF (siteler arası talep sahteciliği) jetonu istek üzerine gömülebilir ve üst site bu belirteci okuyamaz ve isteği biçimlendiremez. Dolayısıyla, iframe, kendisini kötü niyetli bir ebeveynden korumak için Kökeni Devralma kurallarına dayanan bir anti-CSRF ölçüsüdür.

Saldırı perspektifinden bu, UI-Redress'den daha çok XSS (siteler arası komut dosyası oluşturma) gibidir. Web sitenize Google erişim hakkı veriyorsunuz ve kullanıcılarınızın çerezlerini ele geçirebiliyor ya da web sitenize karşı XmlHttpRequests gerçekleştiriyorlarsa (ancak insanlar kötü niyetli ve varlıklı olduklarını iddia ediyorlardı).

Bu durumda Google'a güvenmek zorundasınız, ancak Google size güvenmiyor.

There are ways of mitigating the privacy impact of these web-bugs.

+0

Harika bir şey - Yorumunuzu yeniden değerlendirmenizi rica ediyorum: XSS, bu da pek bir anlam ifade ediyor. Yine de hala bir şey hakkında emin değilim. Söz konusu içerik, "