XSS Saldırısı Nedir ?

XSS saldırısı (Cross-Site Scripting), web uygulamalarında kullanıcı girdisinin yeterince doğrulanmaması veya temizlenmemesi sonucunda oluşan bir güvenlik açığıdır. Bu açık, saldırganların, hedef web sitesine zararlı JavaScript kodlarını enjekte etmelerine olanak tanır. Bu zararlı kodlar, kullanıcıların tarayıcılarında çalıştırılır ve çeşitli kötü amaçlı faaliyetlerde kullanılabilir.

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ılarının Etkileri

  • Kullanıcı Bilgilerinin Çalınması: XSS saldırıları, kullanıcıların oturum tanımlama bilgilerini (session cookies) çalmak için kullanılabilir. Bu bilgileri çalan saldırganlar, kullanıcının kimliğine bürünerek çeşitli işlemler yapabilirler.
  • Kimlik Avı (Phishing): Saldırganlar, zararlı kodlar aracılığıyla kullanıcıları sahte giriş sayfalarına yönlendirebilir ve kullanıcıların giriş bilgilerini çalabilir.
  • Web Sitesi Bütünlüğünün Bozulması: Zararlı kodlar, web sitesinin görünümünü ve işlevselliğini bozabilir, güvenilirliğine zarar verebilir.
  • Yetkisiz İşlemler: Kullanıcı hesabı üzerinden saldırgan tarafından yetkisiz işlemler yapılabilir.

XSS Saldırısı Bazı Korunma Yöntemleri

  1. Girdi Doğrulama ve Temizleme
    • Kullanıcıdan alınan tüm verilerin doğrulanması ve temizlenmesi gerekir. Bu, özel karakterlerin (örneğin, <, >, ', ", &) uygun şekilde kaçış karakterleriyle değiştirilmesiyle yapılabilir.
  2. Çıktı Kodlaması
    • Kullanıcı verileri, HTML, JavaScript, CSS veya URL bağlamlarında uygun şekilde kodlanmalıdır. Bu sayede zararlı kodlar, tarayıcı tarafından çalıştırılamaz.
  3. CSP (Content Security Policy)
    • CSP, tarayıcıların hangi kaynaklardan içerik yükleyebileceğini ve çalıştırabileceğini kontrol eden bir güvenlik politikasıdır. Örneğin, script-src 'self' gibi bir CSP politikası, yalnızca aynı kaynaktan (self) gelen JavaScript kodlarının çalıştırılmasına izin verir.
  4. HTTPOnly ve Secure Çerezler
    • Çerezler, HTTPOnly ve Secure bayraklarıyla işaretlenmelidir. HTTPOnly bayrağı, JavaScript’in çerezlere erişmesini engellerken, Secure bayrağı, çerezlerin yalnızca HTTPS üzerinden iletilmesini sağlar.
  5. JavaScript Güvenlik Kütüphaneleri Kullanımı
    • XSS saldırılarına karşı koruma sağlayan çeşitli JavaScript kütüphaneleri ve araçları bulunmaktadır. Örneğin, DOMPurify gibi kütüphaneler, zararlı kodları temizleyebilir.

XSS saldırıları, web uygulama güvenliğini ciddi şekilde tehdit edebilir ve bu nedenle geliştiricilerin ve güvenlik uzmanlarının bu saldırılara karşı dikkatli ve hazırlıklı olmaları gerekmektedir. Web uygulamalarının güvenliğini sağlamak için güvenli kodlama uygulamaları ve sıkı güvenlik politikaları uygulamak esastır.

MENÜYÜ KAPAT