XSS nedir?

İngilizce: Cross-Site Scripting

Siteler arası betik çalıştırma: bir web uygulamasının kullanıcı girdisini uygun şekilde işlemeden sayfaya yansıtması sonucu, saldırganın betiğinin diğer kullanıcıların tarayıcısında o site adına çalışması.

XSS üç ana türde görülür:

  • Yansıtılan XSS: Zararlı girdi isteğin içinde gelir ve yanıtta doğrudan yansıtılır.
  • Depolanan XSS: Zararlı içerik veritabanına kaydedilir ve sayfayı görüntüleyen herkese sunulur (yorum, profil alanı gibi).
  • DOM tabanlı XSS: Açık, sunucuda değil tarayıcıdaki JavaScript kodunda bulunur.

Başarılı bir XSS saldırısı; oturum çerezlerinin çalınmasına, kullanıcı adına işlem yapılmasına, sayfa içeriğinin değiştirilmesine veya sahte giriş formları gösterilmesine yol açabilir.

Korunma:

  • Kullanıcı verisini HTML, öznitelik, JavaScript veya URL bağlamına uygun şekilde kodlayın; otomatik kodlama yapan şablon motorları kullanın.
  • Zengin metin gerekiyorsa güvenilir bir temizleme (sanitization) kütüphanesi kullanın.
  • Ek katman olarak sıkı bir CSP uygulayın.
  • Oturum çerezlerinde HttpOnly, Secure ve SameSite özniteliklerini kullanın.

Onaylıyor musunuz?