Hem kurulumu, hem kullanımı kolay, üstelik oldukça eğitici bir uygulama olan Damn Vulnerable Web Application(DVWA), üzerinde 3 seviyede sizin bilginizi ölçecek şekilde güvenlik açıklıkları bulunan bir PHP/MySQL Web uygulamasıdır. Bu uygulama aracılığı ile XSS, SQLi, CSRF… bilginizi ölçebilir, kendinizi geliştirebilirsiniz. Bugün anlatacağımız uygulamada DVWA üzerindeki düşük ve orta düzeydeki XSS açığının nasıl sömürülebileceğini göstereceğiz.
Öncelikle XSS’in ne olduğunu konuşacak olursak: HTML kodlarının arasına istemci tabanlı kod gömülmesi yoluyla kullanıcının tarayıcısında istenen istemci tabanlı kodun çalıştırılabilmesi olarak tanımlanır. XSS saldırgan tarafından same-origin-policy gibi erişim kontrollerini baypas’lamak için kullanılabilir.
Kısaca yaptığımız açıklamalardan sonra uygulamayı kullanmaya başlayalım. Öncelikle DVWA’nın sistemine login olduktan sonra, güvenlik düzeyini düşüğe çekip, Reflected XSS menüsünü seçiyoruz.
Öncelikle XSS’in ne olduğunu konuşacak olursak: HTML kodlarının arasına istemci tabanlı kod gömülmesi yoluyla kullanıcının tarayıcısında istenen istemci tabanlı kodun çalıştırılabilmesi olarak tanımlanır. XSS saldırgan tarafından same-origin-policy gibi erişim kontrollerini baypas’lamak için kullanılabilir.
Kısaca yaptığımız açıklamalardan sonra uygulamayı kullanmaya başlayalım. Öncelikle DVWA’nın sistemine login olduktan sonra, güvenlik düzeyini düşüğe çekip, Reflected XSS menüsünü seçiyoruz.
Yukarıda gördüğümüz formdaki textbox’ın isminin name olduğunu biliyoruz. Kodlarını aşağıda görebilirsiniz, bir ufak inceleyecek olursak; ekrana “Hello name’in_içindeki_değer” olarak değer bastığını biliyoruz. name textbox’ı için yapılan kontrollerin yetersiz olduğunu hep birlikte gördük; bu durumda rahatlıkla script tag’i içerine yazacağımız bir alert fonksiyonu ile güvenlik açığını kullanabiliriz..
Yukarıdaki resimde gördüğümüz bizim saldırı vektörümüzü oluşturan metin kutumuza xss dendiğinde ilk aklımıza gelen şeyi giriyoruz:
Script tagleri istemci tabanlı kodları ifade ederler. İçerisine yazılan alert() bir fonksiyon olup, ekrana içerisinde merhaba yazan bir messagebox gönderilmesini sağlar.
Düşük düzeyi exploit etmek görüldüğü üzere fazlasıyla kolay...
Yorumlar
Yorum Gönder