SORU
19 NİSAN 2010, PAZARTESİ


Neden Google while(1); JSON yanıtlarını önüne geliyor?

Neden Google önüne (özel) JSON yanıtları için while(1);?

Örneğin, burada ve bir takvim Google Calendar çevirirken bir yanıt var:

while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],
  ['remindOnRespondedEventsOnly','true'],
  ['hideInvitations_remindOnRespondedEventsOnly','false_true'],
  ['Calendar ID stripped for privacy','false'],['smsVerifiedFlag','true']]]]

Bu üzerinde eval() bunu engellemek için olduğunu sanıyorum, ama gerçekten yapmanız gerekiyor while değiştirin ve sonra da ayarlamış olursun. Eval önleme emin insanların güvenli JSON ayrıştırma kod yazmak için olduğunu sanıyorum.

Bu Google (Posta, Takvim, Kişiler, vb.) ile diğer yerlerde bir çift, çok, ama çok daha çok kullanıldığını gördüm Gariptir ki, Google Docs &&&START&&& yerine ile başlar, ve Google Rehber while(1); &&&START&&& ile başlamak gibi görünüyor.

Burada neler oluyor?

CEVAP
19 NİSAN 2010, PAZARTESİ


JSON hijacking engeller.

Yapmacık örnek: JSON formatında gelen ilk 50 mesajı verir. Google mail.google.com/json?action=inbox gibi bir URL var diyelim Diğer alanlardaki kötü web siteleri bu veri aynı kaynak politikası nedeniyle AJAX isteklerini yapmak değil, ama <script> bir tag ile URL içerebilir. URL ile ziyaret ettiseninkurabiye ve overriding the global array constructor or accessor methods tarafından bir yöntem bir nesne (dizi) karma özniteliği ne zaman aradılar, onları JSON içeriğini okumak için izin ayarlanır.

mail.google.com AJAX isteği metin içeriği tam erişime sahip olacak, ve o uzakta şerit olabilir. while(1); &&&BLAH&&& Bu engeller: Ama <script> etiket ekleme körü körüne herhangi bir işlem olmadan JavaScript, sonsuz bir döngüye veya yazım hatası ya da sonuçlanan yürütür.

Bu cross-site istek sahteciliği sorunu gidermez.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hidetake takayama

    hidetake tak

    3 Mart 2009
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • UlyssesForever's channel

    UlyssesForev

    28 ŞUBAT 2012