[Owasp-turkey] ilginç bir xss vakası

Ferruh Mavituna ferruh at mavituna.com
Fri Jul 15 07:34:21 EDT 2011


Buradaki sorun bence append() kullanilmasi,  sonucta eger HTML yazmayacaksan
text() kullanman gerekli eger HTML() yazacaksan o zaman encoding olayini
halletmeyi / sorunlarini cozmek zorunda oldugunu goz onunde bulunduracaksin.


Daha seksisi yazilabilir sanirim, ama ozetle o konuda soyle olmasi lazimdi:

       var strr = $("#str").text();
>
>       $("#str2").text($("#str2").text()+strr);
>
>
Text() i kullanmamak SQL Querylerinde kendi parameterised query'ler
kullanmak yerine kendi filtreni yazmak gibi.

JQuery'ye bunu yapan appendText() diye bir fonksiyon eklemek muhtemelen en
verimlisi olacaktir.

2011/7/15 Bedirhan Urgun <bedirhanurgun at gmail.com>

> aynen. yani jquery'nin text metodu htmlencoded stringi alip decode ediyor (
> http://api.jquery.com/text/), cunku calisma prensibi xml element icindeki
> text alanlari okuyup string olarak vermek (dolayisiyla &lt; gibi html
> kodlanmis stringi < seklinde okuyor). index.php'nin PHP kodunu veriyorum (
> http://pastebin.com/xPPx3p7W), guvenlik prensiplerine output encoding
> acisindan uyulmus.
>
> Simdi gelelim developer'lari ilgilendiren ilginc noktaya. Yukaridaki konuyu
> gercek hayata uyarlayalim. Guvenlik konusuna ilgili ve farkinda bir
> developer, uygulamasinin cikti noktalarinda HTMLEncode kullanmasi
> gerektigini biliyor. Her klasik html output ettigi yere framework'un kendine
> sagladigi otomatik veya manuel HTMLEncode metodunu kullanir.
>
> Sonra arayuzu afilli olsun diye de guzel gorunen *html select*ler yapmak
> icin jquery plugin'i selectmenu<http://www.filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select/>'yu
> kullanmak ister. Ama selectmenu kendi icinde jquery text'i kullanir ve js
> rendering islemi sirasinda inanilmaz bir sekilde XSS olusur. :) Sonra
> demezler mi, "bize HTMLEncode deyip duruyorsun, hala XSS olusuyor" diye.
>
> http://www.webguvenligi.org/jquerytext/selectmenu.php
>
> Bence JQuery'nin bu text metodu sakat. Tek basina olasilik dusuk olabilir
> ama icinde kullanildigi pluginlerle beraber risk gayet iyi. Cunku innerHTML
> veya appendChild gibi DOM'un kaba metotlari ile hem IE hem de FF'de XSS
> calistirmak kolay degil. Ama JQuery append diyor, tak calisiyor.
>
> Sonuc olarak yapacak sey ya plugin'i kullanmamak ya da double encode etmek.
> Double encode... kotu seyler cagristiriyor degil mi?
>
>
>
> 15 Temmuz 2011 12:08 tarihinde Serkan Özkan <serkanozkan at gmail.com> yazdı:
>
> Jquery'nin text fonksiyonunun str id'li div'in içeriğini, içerik normalde
>> html encoded olmasına rağmen, döndürürken html decode edilmiş olarak
>> döndürmesinden kaynaklanıyor.
>> Ekteki ekran görüntüsü input alanına </div><h1>XSS</h1><div>
>> gönderildikten sonra chrome javascript konsolundan alınmıştır.
>>
>>
>> 2011/7/15 Canberk BOLAT <canberk.bolat at gmail.com>
>>
>>> Zafiyet JQuery'nin append methodunun ilgili text'i HTML olarak encode
>>> etmesinden mi kaynaklanıyor? Sadece tahmin :)
>>>
>>> 15 Temmuz 2011 11:59 tarihinde Deniz CEVIK <denizcev at gmail.com> yazdı:
>>>
>>> Bu durum XSS saldırıları için request yolla sonra response'u analiz et
>>>> tarzında çalışan otomatik zafiyet tarayıcılarının yetersiz olduğunun
>>>> göstergesi. Bu tip yazılımlar scriptden kaynaklanan problemleri
>>>> bulabilmek için bir browser gibi isteğin neye yol açtığını simüle
>>>> etmeleri gerekiyor. Yada manual kontrol. scriptler analizleri de bu
>>>> bakımdan önem taşıyor.
>>>>
>>>> İyi Çalışmalar.
>>>>
>>>> 2011/7/15 Bedirhan Urgun <bedirhanurgun at gmail.com>:
>>>> > dogru bir sekilde bulabilmesi icin runtime analiz yapmasi lazim.
>>>> nolamaz,
>>>> > false pozitif uretir o :)
>>>> > hangi aracmis bu (ozelden atabilir misin)...
>>>> >
>>>> > 15 Temmuz 2011 11:34 tarihinde Deniz CEVIK <denizcev at gmail.com>
>>>> yazdı:
>>>> >>
>>>> >> :) otomatik araçlar buluyor.
>>>> >>
>>>> >>
>>>> >>
>>>> http://www.webguvenligi.org/jquerytext/index.php?searchterm=%23%3Cimg+src%3D%2F+onerror%3Dalert%281%29%3E
>>>> >>
>>>> >> 2011/7/15 Bedirhan Urgun <bedirhanurgun at gmail.com>:
>>>> >> > merhaba,
>>>> >> > Asagidaki uygulamadaki XSS'i manuel olarak cok rahat bulabilirsiniz
>>>> >> > (otomatik olarak zannetmiyorum), ama burda acikligin asil kaynagi
>>>> nedir?
>>>> >> > diye bisey sorsam...
>>>> >> >
>>>> >> > http://www.webguvenligi.org/jquerytext/index.php
>>>> >> >
>>>> >> > --
>>>> >> > Bedirhan Urgun
>>>> >> > http://www.webguvenligi.org
>>>> >> > http://www.owasp.org/index.php/Turkey
>>>> >> >
>>>> >> > Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için:
>>>> >> > https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>> >> >
>>>> >> > _______________________________________________
>>>> >> > Owasp-turkey mailing list
>>>> >> > Owasp-turkey at lists.owasp.org
>>>> >> > https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>> >> >
>>>> >> >
>>>> >> _______________________________________________
>>>> >> Owasp-turkey mailing list
>>>> >> Owasp-turkey at lists.owasp.org
>>>> >> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Bedirhan Urgun
>>>> > http://www.webguvenligi.org
>>>> > http://www.owasp.org/index.php/Turkey
>>>> >
>>>> > Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için:
>>>> > https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>> >
>>>> > _______________________________________________
>>>> > Owasp-turkey mailing list
>>>> > Owasp-turkey at lists.owasp.org
>>>> > https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>> >
>>>> >
>>>> _______________________________________________
>>>> Owasp-turkey mailing list
>>>> Owasp-turkey at lists.owasp.org
>>>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>>
>>>
>>>
>>>
>>> --
>>> Canberk Bolat
>>> Security Researcher
>>> http://twitter.com/cnbrkbolat
>>> http://cbolat.blogspot.com
>>>
>>> _______________________________________________
>>> Owasp-turkey mailing list
>>> Owasp-turkey at lists.owasp.org
>>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>
>>>
>>
>> _______________________________________________
>> Owasp-turkey mailing list
>> Owasp-turkey at lists.owasp.org
>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>
>>
>
>
> --
> Bedirhan Urgun
> http://www.webguvenligi.org
> http://www.owasp.org/index.php/Turkey
>
> Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için:
> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>
> _______________________________________________
> Owasp-turkey mailing list
> Owasp-turkey at lists.owasp.org
> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>
>


-- 
.fm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20110715/d89e84ee/attachment.html 


More information about the Owasp-turkey mailing list