Local file inclusion (Lfi) zaafiyetini burp suite ile sizlerle beraber uygulamalı şekilde göreceğiz. Local file inclusion zaafiyetinden önce bi bahsedelim sonrasında pratik yaparak kafanıza oturmasını sağlayalım.
Lfi Nedir - Nasıl Oluşur ?
Sayfada dahil edilen bir dosyanın ya da bir yere yönlendirilen bir dosyanın gerekli filtrelemeler yapılmadan kullanıcı tarafından yetkisiz dosyalara erişim sağlamasıdır.
Örnek verecek olursak :
https://hedefsite.com/sayfa=login.php
Yukarda vermiş olduğum örnek bir site. Bu sitede sayfa değişkenine login sayfasını çağırmakta. Yani bir girdi parametresi almakta. Fakat biz login.php yerine bunu değiştirerek iznimiz olamayan dosyalara erişim sağlayabiliriz.
Örnek :
https://hedefsite.com/sayfa=../../../../etc/passwd
Linux işletim sisteminde çalışacak olan bu kod kullanıcı hesaplarını bize gösterecektir. Vermiş olduğumuz bu parametre "../" bir üst dizine çıkacağımız anlamına gelir.
Eğer kafanız biraz karıştıysa uygulama yaparken daha anlaşılır olucaktır merak etmeyin.
Burp Suite İle Lfi Zaafiyeti Nasıl Tespit Edilir?
İşlemlere başlamadan önce burp aracımızı hemen açalım. Ardından sizlere uygulama yapmanız için bir site vereceğim. Bu sitede bilerek açık bırakılmış ve insanların denemesi için yapılmış. Portswigger tarafından yapılmış. Burp suite geliştiricileri yani Portswigger denememiz amaçlı bilerek bırakmış bir sayfa.
Siteye gitmek için
tıkla.
Siteye gittikten sonra Acces the lab butonuna basın. Tabi üye değilseniz kullanımınıza izin vermeyecektir. Bu yüzden üye olun ve tekrar linke tıklayıp kabul et butonuna basın. Ardından sizi uygulama yapacağımız siteye aktarıcak.
Örnek bir lfi zaafiyeti :
Portswigger size detaylı bir şekilde anlatmakta. İngilizce olarak anlatılmış olsa da türkce diline çevirerek okumanızda fayda var.
Evet bizi siteye aktardı. Bu site üzerinden işlem gerçekleştireceğiz. Öncelikle siteyi inceleyelim. Tüm ürünlere girip bakalım. Herhangi bir dosya çağırma işlemi olup olmadığına bakalım.
Evet tek tek baktık fakat herhangi birşey bulamadık. Bu yüzden resme sağ tıklayıp yeni pencedere aç diyorum. Url üzerinden kontrol ediyorum ve resmi çağırırken girdi olarak çekmiş. Burda zaafiyet olabilir mi ? diyerek dene işlemine koyuluyorum.
Görmüş olduğumuz gibi " image?filename= " ile resmi çekemiş hemen url kopyalıyorum fakat filename= sonrasını almıyorum. Yani resim çektiğimiz yeri almıyorum. Çünkü oraya payload denemeleri yapacağız. Bu yüzden " filename= 'e " kadar olan bölümü alıyorum.
Veirler post olarak gönderildiği için ana sayfaya geliyorum. Burp suite ile dinlemeye alıyorum. İlk istekte herhangi birşey bulamadık. Fakat sonraki istekte az önce incelediğimiz resmi çekmekte.
Burda bizim resim dosyamızı çekiyor. Bu isteği sağ tıklayarak send to repeater butonuna basıyoruz. Bildiğiniz gibi repeater türkcede tekrarlayıcı anlamına gelmekte. Bir istek üzerinde durmadan değişiklik yaparak gönderilen isteği incelemek için kullandığımız bölümdü. Bu konu hakkında makale yazmıştık. Ona da
buraya tıklayarak hemen ulaşabilirsiniz.
Daha sonra repeater bölümümüze gidiyoruz. Çekmiş olduğumuz resmi yani 70.jpg adlı resmi silip payload giriyoruz.
Send diyerek isteği gönderiyoru. Bize dönen durum kodu 400 olarak geldi. Bad request yani kötü istek olarak tanımlandı.
Sadece resim uzantılarını mı kabul ediyor diye payloadımızın sonuna .jpg uzantısını ekliyorum ve tekrar isteği gönderiyorum. Fakat görmüş olduğumuz gibi ona da kötü istek dedi. Kötü istek demesi çok güzel. Çünkü orda bir filtreleme yapılmadığını farkettik. Bu yüzden payloadımız kendini ele veriyor diye düşünerek payloadımızı encode ederek gönderiyoruz.
Evet görmüş olduğunuz gibi dönen cevapta 200 durum kodu geldi. Bu da demek oluyor ki istek başarıyla gönderildi. Dönen cevap üzerinde passwd dosyasını okumuş olduğumuzu görüyoruz. Çünkü dönen cevapta passwd dosyasının içindeki bilgiler var.
Birçok payload bulunmakta. Her bir payload farklı bir anlama gelmektedir. Bu yüzden sadece 1 payload deneyerek sistemden çıkmayın. Bu sql login bypass için de geçerli bir kural. Eğer burp suite ile sql login bypass konumuzu okumdaıysan hemen
tıklayarak okuyabilirsin.
0 Comments: