SORU
10 EYLÜL 2008, ÇARŞAMBA


HTML Kodlama XSS saldırıları her türlü engeller mi?

Saldırıların diğer tür endişe duymuyorum. Sadece HTML Kodlama XSS saldırıları her türlü engel olup olmadığını bilmek istiyorum.

Bir yolu varsa HTML Kodlama kullanılıyorsa bile XSS saldırı yapmak var mı?

CEVAP
16 EYLÜL 2008, Salı


Hayır.

Bazı etiketler izin konusu (soru değil gerçekten nokta) bir kenara koyarak, HtmlEncode sadece XSS saldırıları kapsamaz.

Örneğin, sunucu tarafından istemci tarafı javascript-sunucu dinamik olarak çıkışları doğrudan tarafı istemci javascript, htmlencode içine htmlencoded değerleri dikkate alacaktırdurdurmak değilyürütülmesini enjekte script.

Ardından, aşağıdaki yarı kod düşünün:

<input value=<%= HtmlEncode(somevar) %> id=textbox>

Şimdi, bu durumda hemen belli, eğer somevar (tabii ki kullanıcı tarafından gönderilen, onun için örnek için ayarlayın

a onclick=alert(document.cookie)

sonuç çıktı

<input value=a onclick=alert(document.cookie) id=textbox>

açıkçası bu işe yarayabilirdi. Belli ki, bu (hemen hemen) başka bir senaryo olabilir... ve HtmlEncode pek yardımcı olmaz.

Orada bir kaç ek vektörler dikkat edilmesi gereken... de dahil olmak üzere üçüncü lezzet XSS denilen DOM tabanlı XSS (neyin kötü amaçlı kod oluşturulur dinamik olarak istemci, örneğin dayalı # değerler).

Ayrıca saldırı gibi görünüyor UTF-7 tür saldırıları hakkında unutmayın

 ADw-script AD4-alert(document.cookie) ADw-/script AD4-

Pek bir şey kodlamak var

Çözüm, elbette (beyaz liste girdi doğrulama uygun kısıtlayıcı ek olarak), gerçekleştirmek içiniçeriğe duyarlıkodlama: HtmlEncoding EĞER içerik HTML çıkış, iyi, ya da belki JavaScriptEncoding gerekir, ya da VBScriptEncoding veya AttributeValueEncoding, ya da... vb.

MS ASP.NET gerekli içerik-kodlama yöntemlerini sağlayan Anti-XSS kütüphanesinde kullanabilirsiniz kullanıyorsanız.

Tüm kodlama kullanıcı giriş, ama aynı zamanda veritabanı, metin dosyaları, vb saklanan değerleri ile sınırlı olması gerektiğini unutmayın.

Oh, ve açıkça karakter, HTTP başlık VE META etiketi de ayarlamayı unutmayın, yoksa hala UTF-7 güvenlik açıkları var

Biraz daha fazla bilgi, ve oldukça kesin bir liste (sürekli güncellenen), RSnake kontrol Kopya Kağıdı: http://ha.ckers.org/xss.html

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006