XSS Atak Tespit ve Analiz

XSS Atak Tespit ve Analiz

XSS ATAK TESPİT VE ANALİZ

 

Bu yazımda XSS saldırısının nasıl tespit edileceği ve tespit sonucunda tespit edilen script’in analizini yaparken kullanacağımız yolları anlatıcam ama önce XSS saldırısının nasıl işlediğini ve türlerini bilmemiz gerekiyor.

 

XSS ZAFİYETİ NEDİR?

XSS( CROSS-SİTE SCRİPTİNG), Bir web uygulamasının bir saldırganın diğer kullanıcılar tarafından görüntülenen web sayfalarına kötü amaçlı komut dosyaları eklemesine izin vermesi durumunda ortaya çıkan bir tür güvenlik açığıdır. XSS saldırısının temel amacı, kullanıcının tarayıcısı bağlamında kötü amaçlı komut dosyaları yürütmek ve bu komut dosyalarının hassas bilgilerin çalınmasına, oturumun ele geçirilmesine, web sitelerinin tahrif edilmesine veya diğer kötü amaçlı etkinliklere yol açma potansiyeline sahip olmasıdır.

Üç ana XSS saldırı türü vardır ;

  1. Reflected XSS ( Kalıcı Olmayan XSS) : Kötü amaçlı komut dosyası bir URL ’ye veya başka bir giriş alanına gömülür ve sunucu, yanıtın bir parçası olarak bunu kullanıcının tarayıcısına geri yansıtır. Bu tür XSS saldırıları genellikle kimlik avı e-postaları veya diğer sosyal mühendislik yöntemleri aracılığıyla gerçekleştirilir

 

  1. Stored XSS ( Kalıcı XSS) : Kötü amaçlı komut dosyası, veritabanı gibi hedef sunucuda kalıcı olarak depolanır. Bir kullanıcı belirli bir sayfada veya kaynağa eriştiğinde, enjekte edilen komut dosyası tarayıcısına sunulur.

 

  1. DOM Tabanlı XSS saldırısın: web sayfasının yapısının istemci tarafı komut dosyaları kullanarak dinamik olarak değiştirildiği belge nesnesine modelinde (DOM) gerçekleşir. Saldırgan, sayfanın yapısını ve davranışlarını etkileyen kötü amaçlı kod enjekte eder.

XSS saldırılarını önlemek için geliştiricilerin, kullanıcı girişlerinin çalıştırılabilir kod yerine veri olarak ele alınmasını sağlamak amacıyla giriş doğrulama ve çıkış kodlama gibi güvenlik kodlama uygulamalarını uygulamaları gerekir. Web uygulaması güvenlik duvarları ve güvenlik tarayıcılarıda XSS açıklarını tespit etmek ve azaltmak için kullanılabilir. Ayrıca güvenli kodlama çerçeveleri ve kitaplıklarının kullanılması, geliştiricilerin daha dayanıklı uygulamalar oluşturmasına yardımcı olabilir.

 

XSS saldırısını işleyişi ve yöntemlerini öğrendiğimize göre saldırı sonrasında neler yapabileceğimize biraz göz atalım.

LOG(GÜNLÜK) DENETİMİ

 Log kayıt günlükleri, Bir sistemdeki olayların, saat, kullanıcı adı ve eylem cinsinden otomatik olarak kaydedilmesi işlemidir. Bu kayıt, sistem hatalarının ve sistemde yapılan değişikliklerin sonradan kontrol edilebilmesi için de tutulmaktadır.  

 

cat/var/apache2/Access.log komutu ile apache2 işletim sistemimizdeki log kayıtlarını getirmemizi sağlayacaktır. 

Yukarıdaki log kayıtlarından alınmış birkaç kayıtı örnek olarak inceleyelim ;

Bu log kaydında script%3E alert(1) scriptinin sisteme yüklenmeye çalışıldığını ve hangi dizin içerisinde  olduğunu ne zaman, hangi tarihte, hangi IP adresi aracılığı ile gönderildiğini görüyoruz. Bu sayede yüklenen script’in bulunduğu dizine erişim sağlayıp sistemden silebiliyoruz.

AĞ TRAFİĞİ ANALİZİ

Ağ trafiği analizi genellikle kurumsal sistemler üzerinde kullanılabilen bir yöntemdir. Kurumumuzda çalışan IDS, IPS, FIREWALL vb ağ trafiği kontrol sistemlerinden elde ettiğimiz ağ trafiği kayıtları analiz edicez ve saldırgan kişi hakkında log kayıtlarına oranla çok daha veri elde edebilecez  .

Örnek olarak aşağıdaki wireshark ekran görüntüsüne bakalım;

Yukardaki pcap dosyasında ilk olarak basit bir ‘https’ protokol filtrelemesi ile sadece http trafiklerini görüntüleyebiliriz. Ve ardınfan paketleri tek tek incelemeye başlayabiliriz.

16 numaralı paketi açtığımızda sisteme yüklenen <script>alert(1)</script> script’inin sisteme yüklenmeye çalışıldığını görebiliriz. 

XSS KORUNMA YOLLARI

  1. Browser Developer tool'ları kullanabiliriz bu tool'lar bizlere web sayfasını inceleme, hata ayıklama ve performans analizi yapma şansı vermektedir 
  2. Saldırı için kullanılan Payload'ı (script içeren veri paket) inceleyebiliriz, bu genellikle bir URL olabilir Virüstotal gibi Tools bize yardımcı olacaktır. 
  3. CSP ( Content Security Policy) sayfamızdaki paket trafiğine filtreme ile erişim kısıtlaması kullanmamızı sağlamaktadır bu sayede sayfamız her gelen Payloadları yüklemeyecektir. 
  4. White list kullanımı girişleri kabul ederken, güvenli olanları belirleyen bir beyaz liste kullanın. Yani, beklenen türde ve güvenli karakterlere izin veren bir yaklaşım benimseyin.

Yazım bu kadardı umarım faydalı olmuştur :)

Fırat Üniversitesi Adli Bilişim Mühendisliği 3. sınıf öğrencisiyim. Siber Güvenlik alanında çalışmalar yapmaktayım.