XSS Example 1 (W4P)

Merhabalar,

İlk örneğimiz olan XSS zafiyeti ile başlıyoruz. Aşağıdaki resimde görmüş olduğunuz gibi XSS Example 1 sayfasını açtığımızda içerisinde sadece “Hello Hacker” yazan boş bir sayfa karşılıyor bizi.

Sayfayı daha dikkatli incelediğimizde adres çubuğunda “name=hacker” yazdığını görebiliyoruz. Sayfada yer alan “hacker” değerini adres çubuğunda yer alan “name” parametresinden alıp almadığını kontrol etmek için adres çubuğunda değişiklik yapıyoruz.

Aşağıdaki resimde de görüldüğü üzere hacker değerini değiştirdiğimizde sayfanın içeriği de değişiyor.

Peki bu zafiyeti tespit ettikten sonra neler yapabiliriz?

En basitinden bir uyarı çıkarabiliriz. Bunun için aşağıdaki resimde de görüleceği gibi “name=” yazan bölgeden sonra <script>alert(“you hacked”)</script> eklersek sayfa açılışında bir uyarı mesajı vermiş oluruz. Tabi ki bunun hack ile alakası yok, sadece özendirme amaçlı bir mesaj 🙂

Peki sadece bir uyarı mesajı vererek mi bu zafiyetten faydalanabiliriz?

Cevap tabiki de hayır. Mesela, bu sayfaya adres çubuğundaki bu parametre üzerinden bir başka sayfanın linkini gömebiliriz. Bu sayfa açıldığında veya kopyalanmış bu linke tıklandığında başlangıçta yer alan sayfa yerine bizim adres çubuğuna gömdüğümüz linke yönlendirme yapabiliriz. Bunun için yine “hacker” yazan yere  <script>document.location=”http://www.halilbalim.com”</script> yazarak bu linki tıklayan kişiyi kendi sayfama yönlendirebilirim. Tabi ki bu da benim beyaz şapkalı olduğumu gösterir. 🙂

Bunun gibi daha çok örnek var elbette. Mesela, sayfa adı yazdıktan sonra /document.cookie ekleyip kişinin tarayıcısında bulunan cookie’leri kendi sayfama yükleyebilirim. Hatta, daha da ileri gidecek olursak, Kali Linux işletim sistemlerinde yüklü gelen “BeEF XSS Framework” kullanarak, “name” parametresinden sonraki kısma bir kanca atıp, kişinin tarayıcısına uzaktan erişim sağlayabiliriz. Neyse ki ben beyaz şapkalıyım, bunları denemiyorum. 🙂

Ama belki ilerleyen zafiyet örneklerinde bundan bahsedebilirim.

Diğer örneklerde görüşmek üzere.

1 Comment

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir