twitterlinkedinemail

24 Haziran 2014 Salı

Xenotix XSS Exploit Framework ile XSS Tespiti

XSS (Cross-site Scripting) Zafiyeti Nedir?

Kaba yorum ile; web uygulamasında açığın meydana geldiği input/inject point (veri girişi) alanına gönderilen kötü niyetli javascript kodlarının, kullanıcının web tarayıcısında çalıştırıldığı bir saldırı türüdür. Yani Client-Side (kullanıcı taraflı) bir saldırıdır.
URL adreslerindeki query stringler ve form alanlarında sıklıkla görülür.
Phishing saldırılarına zemin oluşturur.
Genellikle POST ve GET metotlarının kullanıldığı alanlarda olur.

Çeşitleri:
Reflected (Yansıyan), Stored (Depolanan) ve Dom-based olarak üç çeşittir.

Reflected XSS

Stored XSS

Etkileri:
Yazılım betiklerinin kullanıcı tarafında çalıştırılması sonucunda kullanıcının oturum bilgileri çalınabilir, web tarayıcısı (browser) ele geçirilebilir veya bilgisayarına zararlı kodlar enjekte edilerek ve bilgisayar yönetimi ele geçirilebilir...

XSS Zafiyeti Nasıl Oluşur?

Temel olarak web uygulamada kullanıcının veri girişi yaptığı alanlarda meta-karakterlerin filtrelenmemesinden kaynaklanmaktdır.

XSS Zafiyetine Nasıl Önlem Alınabilir?

  • Web uygulamalarında kullanıcının veri girişine izin verilen alanlarda filtreleme yaparak bu açıkları kapatabilirsiniz. Veri girişinin filtrelenmesi kadar veri çıkışının da incelenmesi web uygulamalarının güvenliğini arttıracaktır. Aşağıda belirtilen karakterlerin filtrelenmesi web uygulamaların güvenliğini sağlayacaktır:
    ['],[<],[>],[;],[/],[?],[=],[&],[#],[%],[{],[}],[|],[@],[\],["]Ayrıca bu tür karakterlerin gerektiği ortamlarda, girilen verinin encode edilmesi gerekebilir. NOT: Eğer uygulanabiliyorsa filtrelemelerde BlackList yerine WhiteList kullanılması daha güvenli olacaktır.
  • Çerezlerin güvenli hale getirilmesi web uygulamalarının güvenliğini arttırmak adına yapılabilecek en önemli işlemlerdendir. Çerezler içinde kullanıcı adı, şifre ve oturum durumunun saklanmasından kaçınılmalıdır. Eğer tutulması gerekiyorsa şifreli olarak tutulması tercih edilmelidir.
  • Çerezlere “httponly” set edilmelidir.
  • Donanımsal/Yazılımsal Web Application Firewall (WAF) ile web uygulamasında varolan bir zafiyetin saldırgan tarafından keşfedilme aşamasını zorlaştırıp, loglayıp, bloklayabilirsiniz.
  • Belirli periyotlarda içeriden ve dışarıdan web uygulama güvenlik testleri (penetrasyon testi) yaptırarak güvenlik açıklarının keşfi ve önlem alınması sisteminizi daha güvenli kılacaktır.

Xenotix XSS Exploit Framework ile Web Uygulamada XSS Tespiti

Xenotix XSS Exploit Framework Nedir? Ne iş yapar bu alet?
Web uygulamalarında çeşitli yöntemlerle XSS zafiyetinin keşfi ve sonrasında bulunan zafiyeti sömürebilmek için bünyesinde birçok exploiting araçları bulunmaktadır.

Amaç:
Hedef web uygulamasının veri girişi yapılabilen bir alanını (inject point) göze kestirip o alana yaklaşık 1600 küsür XSS payloadını otomatik test eden Xenotix programını kullanarak XSS tespit etmek.

Xenotix XSS Exploit Framework İndir/Download

Kullanımı:
Programı indirip çalıştırdığımızda hemen Settings menüsü altından Configure Server seçeneğine girip çıkan pencereden Xenotix'in XSS exploiting için kullandığı QuickPHP Web Server servisin başlaması için Start butonuna bastığımızda artık program iş yapmaya hazır hale gelecektir.
Hide butonuna basarak popup pencereyi kapatabilirsiniz.

URL kısmına hedef web uygulamasının linki eklenip Parameter kısmına da XSS'e uğrayan parametreyi yazıyoruz:

Daha sonra Scanner menüsünün altından GET Request Manuel Mode seçeneğini tercih edersek bir XSS payload sayacıyla karşılaşacağız ve Next Payload dedikçe sırayla kodları parametre sonrasına ekleyip üç farklı web tarayıcı üzerinde sonucu gösterecektir. Eğer GET Request Auto Mode seçeneğini tercih edersek de sayaçla uğraşmayacağız, Xenotix kendisi sırayla XSS payloadlarını deneyecektir, bize sadece ekrandan takip etmek düşecektir:

Görüldüğü gibi ben manuel modu seçtim ve next diyerek 19. payloadda XSS'i yakaladım. Üç farklı web tarayıcısında da başarılı bir şekilde çalıştığını gördüm.
Payload bölümünden hedef parametreye hangi XSS paylodının kullanıldığını görebiliriz.

NOT: Bir sonraki Xenotix ile ilgili blog yazımda, keşfedilen XSS zafiyeti sonrası programın exploiting özelliklerinden bahsedeceğim.

4 yorum:

  1. Hocam çok güzel bir makale müsadenizle bende paylaşmak isterim.

    YanıtlaSil
  2. Hocam iyi günler, makale için elinize sağlık. İnternette FBH Bilişim isimli firma tarafından yayınlanmış Mühür 2.0 isimli ürün dikkatimi çekti. İndirdim, test ettim fena değil gibi. Acaba bu şekilde güvenlik yazılımları önlem almakta fayda sağlar mı?

    YanıtlaSil
    Yanıtlar
    1. Merhaba,
      Teşekkür ederim. Mühür yazılımı ile Windows bilgisayarınızın aygıt güvenliği ve yönetimini yapmak istiyorsanız kullanabilirsiniz. Burada önemli olan amacınıza uygun doğru ürünü bulmak. İyi günler.

      Sil