Command Palette

Search for a command to run...

Sözlük XSS (Cross-Site Scripting)

XSS (Siteler Arası Betik Çalıştırma) Nedir?

Siteler Arası Betik Çalıştırma veya XSS, saldırganların web sayfalarına zararlı betikler eklemesine olanak tanıyan bir web sitesi güvenlik açığıdır. Çoğu zaman, bu betikler JavaScript ile yazılır.

Birisi XSS etkilenmiş bir sayfayı ziyaret ederse, tarayıcıları saldırganın betiğini çalıştırır. Bu, çerezlerin çalınmasına, oturumların ele geçirilmesine veya kullanıcının izni olmadan yapılan işlemlere neden olabilir.

XSS, SQL Enjeksiyonu gibi, OWASP İlk 10’da düzenli olarak en yaygın web uygulaması güvenlik açıklarından biri olarak listelenir.

plexicus-xss-attack-ilustration

XSS Nasıl Çalışır?

XSS genellikle kullanıcı girdilerini doğru bir şekilde kontrol etmeyen ve temizlemeyen web uygulamalarını hedef alır.

Örneğin, bir yorum kutusu ham HTML veya JavaScript’e herhangi bir filtreleme olmadan izin veriyorsa, bir saldırgan şu gibi bir kod ekleyebilir:

<script>alert('Hacklendiniz!');</script>

Kurbanlar sayfayı görüntülediğinde, zararlı kod tarayıcılarında çalışır.

Siber Güvenlikte XSS Neden Önemlidir

XSS daha büyük bir ihlale yol açabilir:

  • Hesap ele geçirme (kullanıcıları taklit etmek için oturum çerezlerini çalma)
  • Veri hırsızlığı (şifreler veya kredi kartları gibi form girdilerini ele geçirme)
  • Kimlik avı saldırıları (sahte giriş formları enjekte etme)
  • Kötü amaçlı yazılım dağıtımı (kullanıcıları kötü amaçlı web sitelerine yönlendirme)

XSS Türleri

  1. DOM Tabanlı XSS
  2. Saldırı tamamen tarayıcıda, Sunucuya dahil olmadan Belge Nesne Modeli’ni (DOM) manipüle ederek gerçekleşir.
  3. Depolanmış XSS
  4. Kötü amaçlı betik, sunucuda kalıcı olarak depolanır, örneğin veritabanı, profil sayfası gibi.
  5. Yansıtılmış XSS
  6. Betik bir web sunucusundan yansıtılır (örneğin, URL veya hata mesajında), kurban saldırganlar tarafından hazırlanmış bağlantıya tıkladığında betik çalıştırılır.

XSS Nasıl Önlenir

  • Girdi temizleme ve çıktı kodlama : kullanıcı girdi verilerini işlemden önce her zaman temizleyin, kullanıcı girdisini güvenli bir formata dönüştürün
  • İçerik Güvenlik Politikası (CSP) kullanın : tarayıcıda hangi betiğin çalıştırılabileceğini kısıtlar.
  • Eval() ve satır içi JavaScript’ten kaçının : enjeksiyon risklerini azaltmak için.
  • Güvenlik testi (DAST/IAST) : güvenlik açıklarını erken tespit etmek için güvenlik testi yapın

Gerçek Dünya Örneği - Samy solucanı (MySpace, 2005)

Ne oldu: Samy Kamkar depolanmış XSS yükü içeren bir MySpace profili yayınladı. Diğer kullanıcılar profili görüntülediğinde, yük tarayıcılarında çalıştı, (a) Samy’yi arkadaş olarak ekledi, (b) profillerine “Samy benim kahramanım” ifadesini ekledi ve (c) kendini bu kullanıcıların profil sayfalarına kopyaladı.

Etkisi: Solucan, ~20 saat içinde ~1 milyon kullanıcıya kendi kendine yayıldı ve MySpace’in geçici olarak çevrimdışı kalmasına neden oldu.

Neden çalıştı: MySpace, profil alanlarında kaçış yapılmamış HTML/özelliklere izin verdi, bu da ziyaretçilerin tarayıcılarında depolanmış betik çalıştırılmasına olanak tanıdı.

Dersler / düzeltme: Doğru çıktı kodlaması, girdi temizliği, profil alanlarındaki HTML’nin kaldırılması ve hızlı yama. Samy daha sonra yasal sonuçlarla karşılaştı ve MySpace filtreler uyguladı.

İlgili Terimler

Sonraki Adımlar

Uygulamalarınızı güvence altına almaya hazır mısınız? İleriye doğru yolunuzu seçin.

Plexicus ile uygulamalarını güvence altına alan 500+ şirkete katılın

SOC 2 Compliant
ISO 27001 Certified
Enterprise Ready