Local File Inclusion Açığı (1 Viewer)

Joined
Mar 19, 2016
Credits
0
Rating - 0%
Bu konumda sizlere Local File Inclusion dan bahsedeceğim.
Hatam olmuşsa affola.

Local File Inclusion Nedir? Özetleyecek olursak :

LFI (Local File Inclusion) kelime anlamı olarak yerel dosya çağırmak anlamına gelir.
Bu açık şuanda çok kullanışlı değil. Fakat bazı sitelerde kullanılıyor.

Local File Inclusion Mantığı Nedir :

LFI açığının mantığı "server" üzerindeki dosyaları okumaktır.
Örnek etc/passwd dosyası.Serverdaki tüm sitelerin USER’larının bulunduğu dosyadır.
Bu açık sayesinde Serverdaki dosyaları okuma şansımız var.

Açığın Kanıtı :

Bir Web sayfamız olsun. Örneğin http://www.siteadı.com/pages.php?id=2861
Burada LFI Olup olmadığını şu şekilde anlarız. http://www.siteadı.com/pages.php?id=/etc/passd
Yazdığımızda karşımıza Warning: include() “/home/user/public_html/pages.php” tarzında bir
hata alıyorsak. Burada LFI vardır.

Açığın Kullanımı :

Sitemize http://www.siteadı.com/pages.php?id=/etc/passd yaparak karşımıza hata çıkmmıştı.
Burada LFI olduğunu anlamıştık. Şimdi bu hata ../../etc/passwd şeklinde etc/password dosyasını okuyabiliriz.
Öcelikle hatamızdaki Warning: include() “/home/user/public_html/pages.php” dizin sayısı önemli.
Hatamızda kaç adet dizin var bakalım.

/home/
/user/
/public_html/
/pages.php


Hatamızda 4 Adet dizin var. Koyacağımız ../ işareti 4 tane olmalıdır.
Şu şekilde www.siteadı.com/pages.php?id=../../../../etc/passwd
Bu saldırıyla /etc/passwd dosyasını okumuş olduk.
Eğer erişim iznimiz varsa sistemde bazı fonksiyonlar kullanarak siteye farklı işlevler
uygulayabiliriz.

Fix İçin :

Yanlılş bir kodlama LFI oluşturur.

<?php
İnclude("dizin/$veri/pages.php);
?>


Kodumuzu doğru bir şekilde kodladığımızda LFI oluşmaz.

<?php
$veri=’home’;
İnclude("dizin/$veri/pages.php);
?>
 

Users who are viewing this thread

Top