İçeriğe geçin

Siteler arası betik çalıştırma (XSS)

XSS’te dışarıdan gelen içerik tarayıcıda çalıştırılan koda dönüşür. Belirleyici olan, uygulamanın girdiyi sayfaya nasıl yerleştirdiğidir.

Diğer adlarıXSS
Bilgi güvenliği

Siteler arası betik çalıştırma, kısaca XSS, dışarıdan gelen kodun etkilenen web sitesinin bağlamında tarayıcıda yürütüldüğü saldırıdır. Uygulama, güvenilmeyen veriyi sayfaya tarayıcının çalıştırılabilir içerik olarak yorumlayacağı biçimde aktarır. Kod örneğin görünen sayfayı değiştirebilir veya oturum açmış kişinin yetkileriyle istek gönderebilir.

Proje portalındaki bir yorum

Kurgusal bir proje portalı yorumları noteText alanında saklar ve daha sonra diğer ekip üyelerine gösterir. Alan normal metin içindir. İçeriği incelenmeden HTML olarak yerleştirilirse buna uygun hazırlanmış girdiler çalıştırılabilir içerik ekleyebilir. Yorumu kendi veritabanınızda saklamak, onu sonraki gösterim için güvenilir hâle getirmez. Bağlı sistemlerden gelen değerler de gösterildikleri yere uygun biçimde ele alınmalıdır.

Yorum yalnız metin olacaksa uygulama buna uygun metin gösterimini veya kullandığı framework’ün güvenli varsayılan çıktısını kullanır. Biçimlendirilmiş HTML’ye bilinçli olarak izin verilecekse hangi içeriklerin kabul edildiği belirlenmiş, bakımı sürdürülen bir temizleme çözümü gerekir.

Koruma, çıktının yerleştirildiği yere bağlıdır

MDN ve OWASP; metin, HTML, öznitelik ve diğer çıktı bağlamlarının işlenmesini ayırır. Normal HTML metnine uygun kodlama, JavaScript veya URL’ler için genel bir koruma değildir. Yalnız girdi doğrulaması, çıktı sırasında gereken korumanın yerini tutmaz.

Content Security Policy, hangi kodun yürütülebileceğini ayrıca sınırlayabilir. Güvenli çıktı noktalarının veya gereken HTML temizliğinin yerini almaz. Portal öyküsü bu ayrımı açıklar; yapılmış bir güvenlik testini anlatmaz.

Kaynaklar