Blog Details

XSS Nedir? Cross Site Scripting Hakkında Her Şey [2025]

16 Tem 2025 - Blog
shape
shape
shape

XSS (Cross Site Scripting) siber saldırı dünyasının en yaygın ama bir o kadar da göz ardı edilen tehlikelerinden biridir. Peki nedir bu XSS? Nasıl çalışır ve sitenizi nasıl etkileyebilir? İşte detaylı ve sade bir anlatımla XSS rehberi!

🧨 XSS Nedir?

XSS (Cross Site Scripting), kötü niyetli bir kullanıcının, bir web sitesine zararlı JavaScript kodları yerleştirerek diğer kullanıcıların tarayıcılarında bu kodların çalışmasını sağlamasıdır.

Kısacası;
🕵️‍♂️ Hacker, zararlı kodu siteye yerleştirir.
🧑‍💻 Kullanıcı siteyi ziyaret ettiğinde bu kod tarayıcıda çalışır.
🎯 Amaç genellikle çerez çalmak, kullanıcı oturumlarını ele geçirmek veya sahte formlar üzerinden veri toplamaktır.

Bu saldırılar genellikle form alanlarında, URL parametrelerinde ya da kullanıcıya özel içerik gösteren bölümlerde gerçekleşir.


🔍 XSS Türleri

XSS saldırılarının başlıca üç türü vardır. Her biri farklı yöntemlerle çalışır ama hepsi ortak bir hedefe sahiptir: Kullanıcının tarayıcısında kod çalıştırmak.

1. Stored XSS (Saklanan XSS)

Bu türde zararlı kod, sunucuya kaydedilir ve diğer kullanıcılara sürekli olarak gösterilir. En tehlikeli XSS türlerinden biridir.

Örnek:
Bir yorum sistemine <script>alert('Hacklendin!')</script> kodu eklenirse ve bu yorum herkese gösterilirse, bu Stored XSS olur.

2. Reflected XSS (Yansıtılan XSS)

Zararlı kod, URL üzerinden gönderilir ve hemen kullanıcıya yansıtılır. Genelde sahte bağlantılarla çalışır.

Örnek:
https://site.com/search?q=<script>...</script> şeklinde bir linkle kullanıcı kandırılır.

3. DOM-Based XSS

Bu türde zararlı kod doğrudan JavaScript ile etkileşime girer. Sunucu tarafında değil, tarayıcıda oluşur.

Örnek:
Bir JavaScript dosyası, URL parametresini doğrudan sayfa içeriğine yazarsa ve filtreleme yapılmazsa DOM XSS oluşabilir.


⚙️ XSS Nasıl Çalışır?

XSS saldırılarının mantığı basit ama etkileri büyüktür. Süreç şu şekilde işler:

  1. Kod Enjeksiyonu: Zararlı JavaScript kodu, güvenlik açığı bulunan alana yerleştirilir.
  2. Tarayıcı Yorumlar: Kullanıcının tarayıcısı, bu kodu sanki site sahibi yazmış gibi işler.
  3. Sonuç: Kullanıcının çerezi çalınabilir, form verileri başka sunucuya gönderilebilir ya da oturumu ele geçirilebilir.

💡 Gerçek Hayattan Örnekler

MySpace Faciası – “Samy Worm” (2005)

MySpace’teki bir açık sayesinde kullanıcı profiline eklenen zararlı kod, bu profili ziyaret eden herkesin hesabını otomatik olarak Samy’nin arkadaş listesine ekliyordu. Sonuç: 24 saat içinde 1 milyon kişi!

British Airways (2018)

Reflected XSS açığı sayesinde kullanıcıların kredi kartı bilgileri ele geçirildi. Zarar milyonlarca pound.


🛡️ XSS’e Karşı Alınacak Güvenlik Önlemleri

XSS’e karşı %100 güvenlik sağlamak zor ama bazı önlemlerle risk büyük ölçüde azaltılabilir:

1. Input Validasyonu

Kullanıcılardan gelen verileri asla doğrudan işlemeyin.

  • HTML etiketlerini filtreleyin
  • Karakter sınırlamaları uygulayın

2. Output Encoding (Çıktı Kodlaması)

Veri sunulmadan önce özel karakterler dönüştürülmeli.
Örn: <&lt;, >&gt;

3. Content Security Policy (CSP)

Tarayıcıya sadece izin verilen kaynaklardan gelen içerikleri çalıştırma talimatı verir. XSS’i oldukça zorlaştırır.

4. HTTPOnly ve Secure Cookie Kullanımı

Çerezlerin JavaScript ile erişilebilirliğini engelleyin. Oturum çalma ihtimali azalır.

5. Güncellenmiş Framework Kullanımı

Modern web framework’leri (React, Angular, Vue vs.) XSS’e karşı gömülü savunmalar sunar.


🧑‍💻 Yazılımcılar İçin Ekstra İpuçları

  • Kullanıcıdan gelen veriyi “güvenli” varsaymayın.
  • Form verilerini hem istemci hem sunucu tarafında kontrol edin.
  • Dışarıdan gelen scriptleri minimumda tutun.
  • Üçüncü parti kütüphanelerin güvenliğini takip edin.

❓ Sıkça Sorulan Sorular (SSS)

XSS saldırısını nasıl tespit edebilirim?
Gelişmiş güvenlik araçlarıyla ya da tarayıcı geliştirici konsolu üzerinden XSS testleri yapılabilir. OWASP ZAP veya Burp Suite gibi araçlar yardımcı olabilir.

XSS sadece JavaScript ile mi olur?
Genellikle JavaScript kullanılır ama HTML, Flash ve hatta SVG dosyaları bile kullanılabilir.

XSS ile neler yapılabilir?
Çerez çalma, oturum kaçırma, sahte form yerleştirme, yönlendirme, reklam enjeksiyonu gibi birçok amaçla kullanılabilir.

HTTPS XSS’i engeller mi?
Hayır. HTTPS veri şifreler ama zararlı kod zaten şifreli olarak gönderildiği için HTTPS bu saldırıyı engellemez.


🚀 Son Söz

XSS (Cross Site Scripting), basit ama etkili bir saldırı yöntemidir. Birçok büyük platform bile zaman zaman bu açık nedeniyle zarar görmüştür. Bu yüzden hem yazılımcıların hem de site sahiplerinin XSS konusunu ciddiye alması gerekir.

Güvenli bir web deneyimi için;

✅ Kullanıcı verilerini filtreleyin
✅ Çıktıları encode edin
✅ CSP gibi modern güvenlik politikaları uygulayın
✅ Sürekli güvenlik testleri yapın

Unutmayın, bir satır kod bazen milyon dolarlık zararlara yol açabilir.


🔗 Faydalı Dış Bağlantılar

A hacker wearing a mask to cover his face is using computer to hack data to get ransom from victims.

Comment

Hadi Birlikte Geliştirmeye Başlayalım

Bana Ulaşın