[Owasp-turkey] Dom Based XSS

Bedirhan Urgun bedirhanurgun at gmail.com
Wed Apr 2 10:16:13 UTC 2014


tabi eklemekte fayda var, sadece asagidaki ile XSS olmaz. :)

<script>
   var s = document.location.href;
</script>


2 Nisan 2014 13:10 tarihinde Bedirhan Urgun <bedirhanurgun at gmail.com> yazdı:

> tabi asagidaki gibi birsey de cikar verdigim ornekten, dogru, daha
> spesifik ornek vermem lazimdi. demeye calistigim INJECTION_HERE kisminin
> tamamen sunucu kodu (ornegin <%= %>) tarafindan olusturulmasi idi.
>
> <script>
>    var s = document.location.href;
> </script>
>
> yanliz JS icindeki degiskenler aslinda tam olarak DOM'un parcasi degil,
> DOM API aslinda pure javascript'e yapilan browser eklentileri. yani
> asagidaki js parcasinin DOM ile pek ilgisi yok;
>
> var x = function (y){ return y*y};
>
>
>
> 2 Nisan 2014 12:46 tarihinde Bunyamin Demir <bunyamindemir at gmail.com>yazdı:
>
> Bedirhan,
>>
>> Verdiğin örneği ben anlamadım. INJECTION_HERE'neye göre DOM based değil?
>>  URL'in fragment'inden alınmış bir değer ise bence 10 numara DOM Based
>> olur. Zira JS içinde kullandığın değişkenlerde aslında DOM'un bir parçası,
>> hatta tüm HTML elementleri de.
>>
>> Syg.
>>
>>
>> 2 Nisan 2014 12:34 tarihinde Bedirhan Urgun <bedirhanurgun at gmail.com>yazdı:
>>
>> ismine dom based demelerinin nedeni buyuk ihtimal sink'in javascript
>>> API'lari olmasi (DOM'u manipule etmenin en temel yolu JS DOM API'leri
>>> cunku). Ornegin document.write, element.setHTML gibi... Tabi ki payload
>>> icin de bu API'lere ihtiyacimiz var ama mesele bu degil. Yani asagidaki DOM
>>> based degil.
>>>
>>> <script>
>>>   var s = "INJECTION_HERE";
>>> </script>
>>>
>>> Ancak developer'in bilincli olarak yazdigi JSON veriyi alip, img
>>> elementi olusturan uygulamada olusan xss'ler dom based. Cunku sink,
>>> developer'in kullandigi JS API'ler. Bu acidan bakarsak sadece bir
>>> payload'un sunucuya gitmeme durumunu DOM Based olarak tanimlayamiyoruz.
>>> Diger taraftan boyle bir tanim cok daha basit ve anlasilabilir.
>>>
>>> Bu tur zafiyetleri developer'lara anlatmamiz gerekliligini dusunursek
>>> belki de hic DOM Based v.s olayina girmeden yani cok kafa karistirmadan
>>> reflected/stored olarak tanimlamaliyiz. Cunku cozum belli aslinda, istemci
>>> veya sunucu tarafinda dogru encoding'i kullanmak... Bilemiyorum tabi
>>> siniflandirma da isi daha bir onemli gibi gostermiyor degil :)
>>>
>>>
>>> 1 Nisan 2014 16:52 tarihinde Canberk BOLAT <canberk.bolat at gmail.com>yazdı:
>>>
>>> Deniz hocam,
>>>>
>>>> Bence Dom-based XSS'tir. Output encoding yapildigini varsaydigimiz icin
>>>> XSS DOM Level'da tetikleniyor, sadece source biraz muamma ama sink yine DOM
>>>> tabanli.
>>>>
>>>>
>>>>
>>>>
>>>> 1 Nisan 2014 16:27 tarihinde Deniz Çevik <deniz at biznet.com.tr> yazdı:
>>>>
>>>> Merhaba
>>>>>
>>>>>
>>>>>
>>>>> Bu durumda XSS oluşmasını engellemek için encode edilerek
>>>>> oluşturularak üretilen bir çıktı, (normalde xss oluşturmayacak bir response
>>>>> <img src=1> gibi) eğer bir javascript kütüphanesi tarafından (örneğin
>>>>> jquery) çalıştırılıyor ve XSS oluşmasına neden oluyor ise bu DOM based’mi
>>>>> dir, reflected’mi dir.
>>>>>
>>>>>
>>>>>
>>>>> *From:* owasp-turkey-bounces at lists.owasp.org [mailto:
>>>>> owasp-turkey-bounces at lists.owasp.org] *On Behalf Of *Mehmet Dursun
>>>>> Ince
>>>>> *Sent:* Tuesday, April 01, 2014 11:34 AM
>>>>> *To:* OWASP-Turkey Chapter
>>>>> *Subject:* Re: [Owasp-turkey] Dom Based XSS
>>>>>
>>>>>
>>>>>
>>>>> Merhaba
>>>>>
>>>>> Isin icerisinde JS oldugunda DOM based demek bana gore yanlis. Ornegin
>>>>> user inputu render edilen sayfada script tagleri arasina yaziliyorsa bu
>>>>> in-line javascript payloadi ile exploit edilebilmekte. Bu durumda da olayin
>>>>> DOM Xss ile ifade edilmesi cok yanlis. Bu ornekledigim zafiyet Reflected
>>>>> Xss olarak adlandirilmalidir. Bir baska ornek olarak mesela kullanicin
>>>>> isimi javascript degiskeni olarak html sayfada kullanildiysa bu durum icin
>>>>> Stored Xss demek daha dogrudur bence.
>>>>>
>>>>> Yani ozetle -bence- payloadin uygulamaya erisim sekline gore
>>>>> siniflandirma yapilmalidir. Ister JS kodu icerisinde olsun isterse html tag
>>>>> eger POST/GET talebinde donen sayfada zafiyet varsa Reflected. Herhangi bir
>>>>> DB vb yapi uzerinde payloadin saklanma durum varsa Stored. Server side
>>>>> tarafina hic iletilmeyen degiskenlerin oldugu durumlarda ise DOM based
>>>>> olarak adlandirilmali.
>>>>>
>>>>> On 1 Apr 2014 11:20, "Bedirhan Urgun" <bedirhanurgun at gmail.com> wrote:
>>>>>
>>>>> Merhaba,
>>>>>
>>>>> DOM Based XSS'i diğer XSS tiplerinden ayıran çok belirgin bir
>>>>> farklılık var mıdır? Farklılıklarını belirtmek isteniz nasıl belirtirdiniz?
>>>>> Basit örnekler ile cevaplamak isteyen olursa memnun oluruz.
>>>>>
>>>>> Hiç sunucu tarafına gitmeyen bir durum olasılığı varsa DOMBased mi
>>>>> demeliyiz, JS'nin işin içine bulaştığı her xss DOMBased mi olur, yoksa
>>>>> source/sink sınıflandırmasını yapıp işin cılkını mı çıkarmalıyız? v.b.
>>>>>
>>>>>
>>>>>
>>>>> bedirhan
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> bedirhan urgun
>>>
>>> _______________________________________________
>>> Owasp-turkey mailing list
>>> Owasp-turkey at lists.owasp.org
>>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>
>>>
>>
>>
>> --
>> Bünyamin Demir
>> OWASP-Turkey Chapter Lead
>> 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
>>
>>
>
>
> --
>
> bedirhan urgun
>



-- 

bedirhan urgun
-------------- sonraki b�l�m --------------
Bir HTML eklentisi temizlendi...
URL: <http://lists.owasp.org/pipermail/owasp-turkey/attachments/20140402/5c1d4390/attachment.html>


More information about the Owasp-turkey mailing list