URL | http://isube.bgabank.com/?sayfa=../../../../../../etc/passwd |
- Önceki bulguda bahsedilen BGA BANK sayfa parametresiyle sunucudan aynı dizin altındaki farklı php dosyaları (giris.php, mobilgiris.php vb.) çağırılmaktadır.
- Hem Linux’ta hem Windows’ta .(tek nokta) aynı dizini ve .. (iki nokta) ise bir üst dizini ifade eder.
- Linux bir sistemde /etc/passwd dosyası bazı kullanıcı bilgilerini saklar ve herkes tarafından okunabilir.
Bu bilgiler kullanılarak sistemdeki yerel dosya okuma zafiyetinden /etc/passwd dosyası görüntülenebilir.
İşlem manuel olarak yapılıyorsa garanti olması için ../../ sayısı fazla tutulabilir. İşletim sistemi sayı fazla olsa dahi ana dizinden bakmaya başlayacaktır. Yani tablo 1. da belirtilen adrese ve http://isube.bgabank.com/?sayfa=../../../../../../../../../../../etc/passwd adresine giriş yapıldığında şekil 1. deki sonucu verecektir.
Şekil 1. /etc/passwd bilgileri
Otomatize araç olarak wfuzz kullanılabilir.
# cd /usr/share/wfuzz
# ./wfuzz.py -c --hc 404,XXX -z file,wordlist/Injections/Traversal.txt http://isube.bgabank.com/?sayfa=FUZZ
Bir önceki zafiyette olduğu gibi wfuzz FUZZ’un olduğu bölüme bruteforce yapacaktır. Word ve Chars değerleri kontrol edilerek geçerli dizinler bulunabilir. (Şekil 2)
Şekil 2. Wfuzz LFI