Ders 30 - Cross-Site Scripting (XSS) > Stage 1: Stored XSS
Cross-Site Scripting (XSS) ünitesinin ikinci dersi olan Stage 1: Stored XSS(Aşama 1: Depolanmış XSS) dersinde Stored XSS saldırısı gerçekleştirilecektir.

Dersin Hedefi

Tom kullanıcısı olarak Edit Profile sayfasındaki Street metin kutusuna karşı bir Stored XSS atağı düzenleyin. Jerry adlı kullanıcının saldırıdan etkilendiğini doğrulayın. Kullanıcı hesaplarının şifreleri verilen isimlerin küçük harfli halleridir. Mesela Tom Cat kullanıcısının şifresi tom 'dur.

Açıklamalar

Tüm input'ları(girdileri) arındırmak iyi bir programcılık örneğidir. Özellikle sonradan işletim sistemi komutlarına, script'lere ya da veritabanı sorgularına parametre olarak kullanılacak input'lar bu arındırmadan geçmelidir. Bilhassa kalıcı olarak bir yerlerde depolanacak içerik önemlidir. Kullanıcılar, başka kullanıcıların istenmeyen sayfa yüklemesine ya da istenmeyen içerik yüklemesine neden olabilen mesaj içeriği oluşturamamalılar. Eğer oluşturabiliyorlarsa site XSS açığına sahiptir denir. XSS saldırısının iki türü vardır: Birincisi Stored XSS, ikincisi Reflected XSS'tir. Eğer zararlı kod içeren mesaj veritabanına kaydolmuşsa buna Stored XSS denir. Eğer zararlı kod içeren mesaj web sitesinin linkinin sonuna eklenmişse buna Reflected XSS denir. Reflected XSS'de oluşturulan zararlı link bir forumda paylaşılarak ya da eposta yoluyla gönderilerek tıklanılması saldırgan tarafından umulur.

XSS saldırı türleri ve tanımları hakkında detaylı bilgi daha önce paylaşılmıştı. Dilerseniz Ders 18 linkindeki XSS, Stored XSS ve Reflected XSS başlıklarından detaylı bilgiye ulaşabilirsiniz.

Dersin Çözümü

Tom olarak tom şifresi ile ilk girişinizi yapmak için ders ekranındaki aşağı açılır listeden Tom kullanıcısını seçin. Şifreyi girdikten sonra açılan panelden View Profile(Profili Görüntüle) butonuna tıklayın. Şimdi ekrana Tom'un profili gelmiş olmalıdır. Edit Profile(Profili Düzenle) butonuna tıklayın ve street yazısının yanındaki metin kutusuna bir XSS kodu girin. Mesela <script>alert("haha");</script> kodunu girebilirsiniz.





Kodu girdikten sonra UpdateProfile(Profili Güncelle) butonuna ve ardından LogOut(Çıkış Yap) butonuna tıklayın. Şimdi Jerry olarak jerry şifresiyle giriş yapın. Ekrana gelen profil sayfasındaki sıralanan isimlerden Tom'u seçin ve ViewProfile butonuna tıklayın. Böylece Tom'un amiri Jerry, Tom'un profilini görüntülemiş olur. Fakat o da ne? Tom'un profili görüntülenirken ekrana Jerry'nin beklemediği bir popup gelecektir. Tebrikler. Dersi başarıyla tamamladınız.





Sonuç
Biz bu derste XSS kodu olarak zararsız bir javascript komutu girdik. Fakat bu yolla daha tesirli javascript komutları girilebilir. Mesela Tom, amiri Jerry'nin profilindeki maaş verisini kendi sitesine bir ajax kodu ile ne kadar denememiş olsak da teorik olarak yollayabilir. Dolayısıyla böylesi saldırılara firma sahipleri meydan vermemek için kullanıcı profili düzenle sayfasındaki metin kutularını denetlemeye tabi tutmalıdırlar, zararlı kod girişi tespit edildiğinde web programlama dili ile kodun veritabanına kaydolmasını engellemelidirler.
Bu yazı 14.09.2015 tarihinde, saat 07:47:22'de yazılmıştır. 03.01.2016 tarihi ve 22:38:29 saatinde ise güncellenmiştir.
Yazar : Hasan Fatih ŞİMŞEK Görüntülenme Sayısı : 1865
Yorumlar
Henüz yorum girilmemiştir.
Yorum Ekle
*
* (E-posta adresiniz yayınlanmayacaktır.)
*
*

#Arşiv


#Giriş

ID :
Şifre :