<div dir="ltr"><div>Selamlar,<br><br></div>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. 

<p class="MsoNormal">Client tarafli kodlar browserin <span style> </span>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;</p><p class="MsoNormal"><br></p><p class="MsoNormal">1) Kullanici uygulamaya login oluyor. <br></p><p class="MsoNormal">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.<br>
</p><p class="MsoNormal">3)Daha sonra kullanici saldirgan tarafindan hazirlanmis olan zararli URL'ni calistiriyor. Sunucu bu isteyi kodlanmis Javascript iceren sayfa ile yanitliyor.<br></p><p class="MsoNormal">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.</p><p class="MsoNormal">5)Ekrana yazilan zararli kod parcacigi yardimi ile  kullanicinin browser'i saldirgana session bilgisi yolluyor. Ve en sonda saldirgan kullanicin sessionu'nu caliyor .</p>
<p class="MsoNormal"><br></p><p class="MsoNormal">Umarim aciklayici yaza bilmisimdir.</p><p class="MsoNormal"><br></p><p class="MsoNormal">Saygilar.<br></p><p class="MsoNormal"><br></p>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">1 Nisan 2014 14:01 tarihinde Canberk BOLAT <span dir="ltr"><<a href="mailto:canberk.bolat@gmail.com" target="_blank">canberk.bolat@gmail.com</a>></span> yazdı:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Selamlar,<div><br></div><div>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ı-. </div>


<div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">1 Nisan 2014 11:33 tarihinde Mehmet Dursun Ince <span dir="ltr"><<a href="mailto:mehmet@mehmetince.net" target="_blank">mehmet@mehmetince.net</a>></span> yazdı:<div>
<div class="h5"><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Merhaba</p>
<p dir="ltr">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. </p>




<p dir="ltr">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.</p>




<div class="gmail_quote"><div><div>On 1 Apr 2014 11:20, "Bedirhan Urgun" <<a href="mailto:bedirhanurgun@gmail.com" target="_blank">bedirhanurgun@gmail.com</a>> wrote:<br type="attribution"></div>

</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
<div dir="ltr"><div><div>Merhaba,<br></div>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.<br>





<br></div>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.<br>





<div><div><div><br></div><div></div><div><div dir="ltr"><div>bedirhan<br></div></div>
</div></div></div></div>
<br></div></div>_______________________________________________<br>
Owasp-turkey mailing list<br>
<a href="mailto:Owasp-turkey@lists.owasp.org" target="_blank">Owasp-turkey@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-turkey" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-turkey</a><br>
<br></blockquote></div>
<br>_______________________________________________<br>
Owasp-turkey mailing list<br>
<a href="mailto:Owasp-turkey@lists.owasp.org" target="_blank">Owasp-turkey@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-turkey" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-turkey</a><br>
<br></blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Canberk Bolat<br>Security Researcher<br><a href="http://twitter.com/cnbrkbolat" target="_blank">http://twitter.com/cnbrkbolat</a><br>
<a href="http://cbolat.blogspot.com" target="_blank">http://cbolat.blogspot.com</a>
</font></span></div>
<br>_______________________________________________<br>
Owasp-turkey mailing list<br>
<a href="mailto:Owasp-turkey@lists.owasp.org">Owasp-turkey@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-turkey" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-turkey</a><br>
<br></blockquote></div><br></div>