XSS Saldırısı Nedir ? XSS Saldırılarından Korunma

XSS (Cross-Site Scripting) saldırısı bir web uygulamasında html çıktılar arasına enjekte edilen istemci tabanlı bir saldırı biçimidir. Genel olarak siteler arası komut dosyası oluşturma ve yürütme olarak bilinen bu zaafiyet uygulama güvenliği aşamasında önemli bir saldırı yöntemi olarak kullanılmaktadır. XSS saldırıları sadece girdi alanlarında değil aynı zamanda url adreslerinde de yapılabilmektedir. SQL injection saldırılarına nazaran web tabanlı uygulamalarda bu saldırı türüne daha fazla rastlanılmaktadır.

Siteler arası komut dosyası çalıştırma, savunmasız bir web sitesini kullanıcılara kötü amaçlı JavaScript döndürmesi için manipüle ederek çalışır. Kötü amaçlı kod bir kurbanın tarayıcısında yürütüldüğünde, saldırgan uygulamayla etkileşimlerini tamamen tehlikeye atabilir.

xss saldırısı

1. Stored  XSS: En tehlikeli XSS saldırısı olan bu türde saldırıya izin veren kod sunucuda tutulur ve otomatik olarak yürütülür. Web tarayıcıları basit seviyede ki  zararlı kodların çoğunu engellemiş olsa da halen kullanılan kritik bir açıktır.Veri tabanlarında kayıtlı olan kalıcı zararlı kodlardır (Payload). Kalıcı bir Xss çeşididir. Fark edilmese sürekli çalışmaya açıktır.

2. Reflected XSS : Kalıcı değildir. Ziyaretçinin bir form giriş alanına veya bir internet adresine (URl: Uniform Resource Locator) istenilen verileri girmek yerine web tarayıcısının çalıştırabileceği JavaScript kodlarının girilmesi ile gerçekleşebilir.

3. DOM XSS: Web tarayıcıların çalışma anında yorumladığı her şeyi DOM kapsamaktadır. Sayfa kaynağında görüntülenmeyen zararlı kod sunucuya gönderilmediğinde, ancak tarayıcıda hemen çalıştırıldığında kullanılan bir yöntemdir.DOM (Document Object Model) ortamının değişmesine bağlı olarak zararlı kod çalıştırılır. Kalıcı veya geçici olabilir. DOM, web sayfasını oluşturan HTML ile programlama dilleri arasında bir standart meydana getirip, HTML yapısından bilgi alışverişinde bulunmasına yardımcı olur.

XSS Saldırısı için Korunma Yolları

  • Uygulamada Content Security Policy (CSP) kullanımı.
  • Kullanıcı girdi alanlarının filtrelenmesi.
  • Url uzantılarının ve girdi alanlarının ekrana basılmadan önce zararlı kod analizinin yapılması.
  • Waf  (Web Application Firewall) kullanımı.
  • Kullanılan js dosyalarının güncel tutulması.
  • XSS atlatma tekniklerine karşı koda karşılık gelen ascii kodların filtreden geçirilmesi.
  • Dosya yükleme alanlarında dosya adı ve dosya uzantısı kontrolünün yapılması.

Gibi tedbirler alınarak XSS saldırısına karşı koruma sağlanabilmektedir. Payloadlar için filtreleme yapılırken mutlaka XSS atlatma teknikleri incelenmeli ve oluşturulacak filtrelere bu kodlarda eklenmelidir.

MENÜYÜ KAPAT