[Owasp-turkey] Dom Based XSS

Bedirhan Urgun bedirhanurgun at gmail.com
Wed Apr 2 09:34:20 UTC 2014


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
-------------- sonraki b�l�m --------------
Bir HTML eklentisi temizlendi...
URL: <http://lists.owasp.org/pipermail/owasp-turkey/attachments/20140402/3b7df62f/attachment.html>


More information about the Owasp-turkey mailing list