EMZETT.
Giriş yap

XSS (cross-site scripting)

Kısaca: Güvenilir bir web sitesinde, diğer ziyaretçilerin tarayıcılarında yabancı JavaScript kodunun çalıştırıldığı saldırı — genellikle sayfa girdiyi denetlemeden HTML olarak çıkardığı için.

Biraz daha ayrıntılı: Saldırgan kodu bir form, bir yorum veya bir bağlantı yoluyla sokar. Sayfa sonradan bunu diğer kullanıcılara gösterirse kod onların haklarıyla çalışır: oturumları çalabilir, kurbanın adına eylemler tetikleyebilir veya içeriği sahteleyebilir. Saklı XSS (kod kalıcı olarak veritabanında), yansıtılan XSS (kod bağlantıda) ve DOM tabanlı XSS (tarayıcı betiğinde hata) ayırt edilir.

Bizim bağlamımız: React metni varsayılan olarak kaçışlar. dangerouslySetInnerHTML bulunan az sayıdaki yer (haber makaleleri, wiki üst verisi, JSON-LD) yalnızca temizlenmiş içerik çıkarır: yöneticilerden gelen HTML kaydederken izin/ret listesiyle temizlenir, JSON-LD bir koruma işlevinden geçer. Düzenleyicideki önizleme betiklerin çalışmadığı sandbox’lı bir iframe içindedir.

Ayrıntılı

Koruma önlemleri

  1. Çıktıyı kaçışla: kullanıcı girdisini asla HTML olarak çıkarma (çatılar bunu yapar).
  2. CSP kullan.

Ayrıca bak: CSP, SQL enjeksiyonu, Çerezler