Remote File Inclusion – Oluşumu ve Güvenliği

0
EXE RANK

Lєυтηαηт `

Fexe Kullanıcısı
Puanları 0
Çözümler 0
Katılım
11 Tem 2008
Mesajlar
943
Tepkime puanı
0
Puanları
0
Yaş
35
Lєυтηαηт `
Remote File Inclusion : Uzaktan dosya dahil etme anlamına gelmektedir.



RFI bug bulunurken bazı parametrelere dikkat edilir, bunlar :



INCLUDE/ INCLUDE ONCE : Bu kod ile uzaktan dosya dahil edilir. Uzun satırlar

alan kodlar bu komutla başka sayfada kodlanmış olarak gösterilerek tek

satıa indirgenir.



REQUIRE / REQUIRE ONCE : Bu kodda Include kodunun yaptığı işlevi gerçekleştirir. Fakat include ile kodlanmış bir sayfada çağrılan (dahil edilen) dosya bulunamazsa PHPi yorumlayıcımız bu kodun olduğu satırı hata mesajı göndererek atlar ve sayfanın diğer kalan kodlarını yorumlamaya devam eder fakat include komutundan sonra require komutuda kullanılmışsa; çağrılan dosya bulunamadığı taktirde bir hata verir ve yorumlamayı durdurur.



Require'in include'dan farkı budur.



Bu parametrelerin kullanımı sırasında ” $ ” işareti yardımıyla uzaktan kod çağrılabilir.



Örnek olarak aşağıdaki kodları inceleyelim :



include (”$Emre/admin/COLAK.php”);



Burada ” $ ” işareti bulunan parametreyi ele alalım. Hatalı kodlamadan dolayı uzaktan dosya çağırmak mümkündür.



Bu dosyaları COLAK.php dosyasındaki kodlar olarak varsayalım.



İlk parametreyi kullanarak RFI oluşturulabilmektedir. ( Emre )



Bu kod ile örnek bir saldırı satırı oluşturalım.



http://www.site.com/patch/COLAK.php?Emre=Shell?



Varsayılan ayarlarda bir değişilik yapılmamış ise bunların çalışması beklenir.



Pekala şimdi açığı nasıl kapatabiliriz? Ona gelelim..



RFI Fix :



$Emre = “./”;



include (”$Emre/admin/COLAK.php”);



COLAK.php dosyamızın bu şekilde kodlandığını düşünürsek RFI açığının gerçekleştiremeyeceğimizi anlayabiliriz.



Emre ÇOLAK
 
bilgi icin tesekkurLer ``
 
Geri
Üst