XSS Example 6 (W4P)

Merhabalar, bu yazıda Web for Pentester – XSS Example 6 inceleme ve zafiyet tespitinden bahsedeceğiz.

Web for Pentester incelemelerinin bulunduğu diğer yazılara bu linkten ulaşabilirsiniz: http://www.halilbalim.com/category/web-for-pentester/

Web for Pentester sanal makinesini ise bu linkten indirebilirsiniz: https://www.vulnhub.com/entry/pentester-lab-web-for-pentester,71/

XSS Example 6 sayfasını açıp ilk örnekte bahsettiğimiz örneklerden deneyerek zafiyeti tespit etmeye başlıyoruz.

İlk örnekte yaptığımız gibi script içinde alert üretmeye çalışırken, hello‘nun sonuna “; ekledi. Bu bana sayfanın kaynak kodunda bir şeylerle etkileşime girmişiz hissi uyandırdı. Bu yüzden, bu hali ile sayfanın kaynak kodunu görüntülüyoruz.

Resimde de görüldüğü üzere, yazdığımız kod direkt tırnak içerisinde eklenmiş.

Sayfanın orijinal halindeki kaynak kodu ise aşağıdaki gibi. Bizim yazmış olduğumuz script altı çizili olan tırnak içindeki hacker yazısının yerine yapıştırılıyor.

XSS Example 6 Çözümü 1

Yukarıdaki kaynak kod resminden yola çıkarak bizim öncelikle tırnak içerisine yazdığımız için tırnağı kapatarak başlamamız, daha sonra da var olan script etiketini kapatıp yenisini açmamız gerekiyor. Daha sonra yeni açtığımız bu script etiketi içerisine ilk örnekteki gibi direkt alert yazmamız mümkün. Yani aşağıdaki resimde de görüldüğü üzere payload: YourW4PURL/xss/example6.php?name=”</script><script>alert(“I am the one who knocks”)</script>

Bu örneğin kaynak kodu ise sonda bu şekilde oluyor

XSS Example 6 Çözümü 2

Bir diğer çözüm de halihazırda script etiketi içerisinde olduğumuzdan direkt oranın içine yazdırmak. Yani yazmamız gereken payload: “;alert(“I_am_the_one_who_knocks”);”

Sonunda oluşan kaynak kod da aşağıdaki gibi oluşmuş oluyor. Bu payloadun başındaki tırnak kaynak kodda yer alan tırnağı kapatmak için ve sondaki tırnak da kaynak kodda yer alan tırnağın başına koymak için eklendiğinde aşağıdaki gibi boşlukları doldurmuş oluyoruz.

Leave a Comment

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