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);
?>
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);
?>