BGA Bank Sayfa Parametresi Local File Inclusion Zafiyeti ve İstismarı

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.

sayfa-lfi.png
Ş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)
sayfa-lfi-2.png
Şekil 2. Wfuzz LFI