XSS (Cross-Site Scripting) Zafiyeti: Nerede Oluşur ve Nasıl Engellenir?

Ana Sayfa

📌 XSS Zafiyeti Nerede Oluşur?
XSS zafiyeti, web uygulamalarında kullanıcıdan alınan verilerin yeterince filtrelenmeden veya encode edilmeden HTML içeriğinde veya JavaScript kodları içinde kullanılması durumunda ortaya çıkar. Genellikle şu yerlerde görülür:

Form inputları (örneğin: yorum, arama kutusu, profil bilgisi)

URL parametreleri (örneğin: ?search=...)

HTTP header bilgileri (örneğin: Referer veya User-Agent)

DOM manipülasyonları (özellikle JavaScript tarafında innerHTML gibi işlemler)

🔧 Müdahale Yöntemleri:

Input Validation (Girdi Doğrulama):

Kullanıcıdan gelen verileri sadece izin verilen karakterlerle sınırla.

Örn: Sadece harf ve rakamlara izin verilecekse regex kullan (örnek: ^[a-zA-Z0-9]+$)

Output Encoding (Çıktı Encode Etme):

Kullanıcı verisi HTML’de kullanılmadan önce encode edilmeli.

Örneğin: < → &lt;, " → &quot;

JavaScript içindeki veri için ayrıca JavaScript encoding yapılmalı.

Hazır Güvenlik Kütüphanelerini Kullan:

PHP için: htmlspecialchars()

Java için: OWASP ESAPI

.NET için: HttpUtility.HtmlEncode()

Content Security Policy (CSP) Kullanın:

Sayfanın hangi kaynaklardan script çalıştırabileceğini sınırla.

Örnek CSP header:

Content-Security-Policy: default-src 'self'; script-src 'self'

DOM XSS'e Karşı Güvenli JavaScript Yazımı:

innerHTML, document.write gibi fonksiyonlardan kaçınılmalı.

Bunun yerine textContent veya setAttribute gibi güvenli alternatifler kullanılmalı.

Açan kullanıcı: Ali Tarlacı | Tarih: 24.06.2025 01:36

Yanıtlar

asterix - 08.07.2025 14:45
Daha detaylı bir anlatıma ihtiyacım var uygulamalı olarak öğrenmek istiyorum yani nasıl yapıldığını biliyorum fakat daha detaylı bir başlık açarsan ya da buradan da anlatırsan sevinirim

Giriş yaparak yorum yazabilirsiniz.