[Owasp-turkey] Dom Based XSS

hale mammedova hale.mammedova at gmail.com
Tue Apr 1 12:01:04 UTC 2014


Selamlar,

DOM tabanli XSS zafiyetini digerlerinden ayiran en buyuk fark gonderilen
zafiyet parametrelerinin sunucuya ulasmasina gerek kalmadan zafiyetin
gerceklestiriliyor olmasidir. Yani istemci tarafinda bulunan kodun DOM'a
mudahilesi ile ortaya cikiyor bu zafiyet turu.Zaten en guzel yanida
sunucuya herhangi bisey gonderilmediyi icin zafiyetin istemci tarafinda
ortaya cikmasidir.

Client tarafli kodlar browserin  DOM'na erise bildiyi icin gecerli sayfayi
yuklemek icin kullanilan URL ni belirleye biliriz. Uygulama tarafindan
verilen script URL'den veriyi ayiklaya bilir, bu veriler uzerinde bazi
islemler gerceklestire bilir ve sonra sayfanin icerigini dinamik olarak
guncellemek icin kullanilir.Uygulama bunu yaptiginda DOM tabanli XSS
zafiyetine sebebiyet vermis olur. Ornek vermek gerekirse ise;


1) Kullanici uygulamaya login oluyor.

2) Daha sonra saldirgan bir yontem ile kullaniciya zararli kod parcacigi
iceren URL'ni yolluyor. Fakat burada saldirgan kendisinin hazirlamis oldugu
URL'deki # isareti sayesinde, bu isaret sonrasi olan degeri uygulamaya
gondermiyor.

3)Daha sonra kullanici saldirgan tarafindan hazirlanmis olan zararli URL'ni
calistiriyor. Sunucu bu isteyi kodlanmis Javascript iceren sayfa ile
yanitliyor.

4)Saldirganin yollamis oldugu zararli URL Javascript tarafindan
isleniyor.Uygulamadan gelen cevap icerisinde bulunan kod parcacigi URL'de
saldirganin belirlediyi fragment degerini aliyor ve ekrana yazdiriyor.

5)Ekrana yazilan zararli kod parcacigi yardimi ile  kullanicinin browser'i
saldirgana session bilgisi yolluyor. Ve en sonda saldirgan kullanicin
sessionu'nu caliyor .


Umarim aciklayici yaza bilmisimdir.


Saygilar.




1 Nisan 2014 14:01 tarihinde Canberk BOLAT <canberk.bolat at gmail.com> yazdı:

> Selamlar,
>
> Hiç sunucu tarafına gitmeyen bir durum için Dom XSS demek daha mantıklı
> duruyor. Ancak yazılanları okuduktan sonra -özellikle Bedirhan şüpheli
> yaklaştığı için- 2nd Order tadında bir XSS olabileceği de geldi aklıma.
> Özetle Dom XSS source'ndan alınan girdinin sunucu tarafında kaydedilmesi
> (bunlarla ilgili bkz: html5, WebSocket...) ile ortaya çıkabilecek bir durum
> mümkün gözüküyor. Yine aynı senaryo üzerinden Dom XSS -daha doğrusu
> JavaScript- source'undan alınan girdinin server-side saklanması ardından
> tekrar JavaScript ile UI'ye giydirilmesi -angular.js vb gibi teknolojiler
> bunu mümkün kılmaya başladı-.
>
>
>
>
> 1 Nisan 2014 11:33 tarihinde Mehmet Dursun Ince <mehmet at mehmetince.net>yazdı:
>
> 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
>
>
-------------- sonraki b?l?m --------------
Bir HTML eklentisi temizlendi...
URL: <http://lists.owasp.org/pipermail/owasp-turkey/attachments/20140401/03babb05/attachment.html>


More information about the Owasp-turkey mailing list