TryHackMe | Lo-Fi Meydan Okumasının Çözümü
Bu yazıda, TryHackMe platformunda yer alan Lo-Fi isimli meydan okumayı çözeceğiz. Başlıktan anlamışsınızdır ama ilk yazının biraz uzun olmasını istediğim için yinede yazayım dedim. Bu meydan okumada Local File Inclusion zafiyetine basit bir şekilde deyineceğiz. Bildiğiniz üzere bu zafiyet, sayfaya dahil edilecek dosyanın adını dışarıdan almasıyla oluşuyor. Dışarıdan alınan dosya yolu veya direkt adını require() veya include() fonksiyonu ile sayfaya dahil ediyor. Böylece istediğimiz dosyanın içeriğini okuyabiliyoruz.
Web uygulamasını yukarıda görüyorsunuz. Siz olsaydınız Local File Inclusion zafiyetini nerede arardınız? Yukarıda söylediklerimi iyice düşünün. Dışarıdan dosya ismi alması veya kullanıcıları o dosya adı ile yönlendirmesi gerekiyor. Bizden dosya ismi isteseydi bu komik olurdu. Haliyle bizi yönlendirmesi gerekiyor. Discography yazan kutucuğa baktığımızda bizi yönlendirecek o linkleri görüyoruz. Daha iyi görmeniz için sayfanın kaynak kodundan göstereceğim.
Bizden istenen tek bir bayrak var, o da kök dizinde bulunuyor. O dizinden bayrağı alabilmemiz için belirtilen sayfaların yerine bayrağın ismini girmemiz gerekiyor. Tabi başına / eklemeliyiz, aksi takdirde girilen dosyayı bulunduğu konumda arama çalışır. Bayrak kök dizinde olduğu için sayfaya dahil edemez.
Bayrağın bulunduğu dosyayı sayfaya dahil etmeye çalıştığımızda uygulamanın güvenlik sistemi ötmeye başladı. Bu güvenlik sistemini geçerek bayrağı kök dizinden almamız gerekiyor. Bu hatayı vermesinin sebebini dizin belirtmek olduğunu sanıyordum ama öyle değilmiş. Sadece girilen ilk karakterin / olup olmadığını kontrol ediyor. Doğrudan kök dizine ulaşmamızı istemiyor.
Dolayısıyla başına / ekleyerek kök dizine ulaşmak yerine başka bir yoldan ulaşmamız gerekiyor. ../../../../../ şeklinde kök dizine ulaşabiliyoruz. Bu arada kök dizinine ulaştığınız sürece istediğiniz kadar ../ ifadesini kullanabilirsiniz. İsterseniz 100 tane ekleyin yine de kök dizinden başlayacak. Sonuna da ../../../../../flag.txt şeklinde bayrak dosyasını belirtikten sonra kök dizinde bulunan bayrağı ekrana yazdıracaktır.
Son düzenleme:


