Neyin Nesidir DOM XSS ?
DOM XSS'den bahsetmek gerekirse Dom (D0cument Object Model) XSS Domlardan kaynaklanan XSS'dir.
Gemelde # işaretinden sonra payload denenmesi ve sayfa yenilendiğinde alert alındığında DOM XSS var denilen XSS açıklığıdır.
İşin teorik bilgisi DOM nesnesinden kaynaklandığı için en tehlikeli XSS türü olarak anılmaktadır.



Peki ya DOM Nedir?
D0cument Object Model, ?DOM?, ?Belge Nesnesi Modeli? anlamlarına da gelmektedir.
İnternet tarayıcıları girilen internet sayfasını bir belge, bu belge (sayfa) içerisinde bulunan tüm elemanları da nesne olarak kabul eder.
Buna göre resim, yazı, form gibi tüm elemanlar nesnedir.
İşte DOM sayfa içindeki herhangi bir nesnenin özelliğine müdahele edebilmemize, nesne özelliklerini değiştirebilmemize olanak sağlar.
Bunu yapabilmek için de JavaScript gibi bazı script dilleri kullanmamız gerekir.
Yani; bir HTML dökümanında JavaScript ile erişip herhangi bir işlem yapabildiğimiz tüm nesneler birer DOM?dur.



Aşağıdaki kodları içeren şu sayfayı düşünelim http://www.ornekgolge.com/test.html:
Kod:
Kod:

http://www.ornekgolge.com/test.html# gibi bir HTTP isteği gönderdiğinizde JavaScript kodunun çalışması için yeterli olacaktır.
Çünkü siz d0cument.write fonksiyonuyla URL?ye ne yazarsanız sayfa da onu ekrana yazar.
Sayfanın kaynağına baktığınızdaysa kodunu görmezsiniz.
Bunun sebebiyse olan biten her şeyin DOM?da gerçekleşmesi ve JavaScript kodu tarafından çalıştırılmasıdır.
Zararlı JavaScript kodu sayfa tarafından çalıştırıldıktan sonra, kullanıcıya ait çerezlerin (cookie) çalınması veya sayfa davranışının istenildiği gibi değiştirilmesi amacıyla, DOM tabanlı XSS zafiyetinin basit bir şekilde exploit edilmesi mümkündür.



Reflected ve Stored XSS ile DOM XSS Arasındaki Fark:

Reflected ve Stored XSS zafiyetleriyle DOM Tabanlı XSS zafiyeti arasındaki en büyük fark, DOM Tabanlı XSS?nin server-side (sunucu taraflı) filtrelerle durdurulamamasıdır.
Bunun çok basit bir sebebi bulunmakta: ?#? (hash) karakterinden sonra yazılan hiçbir şey sunucuya gönderilmez, yani HTTP trafiğinde gözükmez.
Bu şekilde arka planda DOM XSS'in fark edilmemesi



Nedir Bu Self XSS ?
Self-XSS, kullanıcıları kötü amaçlı içeriği kopyalayıp tarayıcılarının web geliştirici konsoluna yapıştırmaları için kandırarak çalışır.
Genellikle saldırgan, belirli bir kodu kopyalayıp çalıştırarak kullanıcının başka bir kullanıcının hesabını hackleyebileceğini belirten bir mesaj gönderir.
Aslında kod, saldırganın kurbanın hesabını ele geçirmesine olanak tanır.