PHP de tehlikeli fonksiyonların kapatılması

PHP de tehlikeli fonksiyonların kapatılması

Evet bu yazıda php nin sizin serverınıza zarar verebilecek fonksiyonlarının nasıl kapatılacğaını göstereceğim bu fonksiyonlar sayesinde kendi sitesine bir php-shell çeken birisi sistem hakkında bir çok bilgiye ulaşabilir sanki local bir shell deymiş gibi çalışabilir wget lynx links gibi binarylerin root a bağlanmadı ise bindshell ini çeker tmp var/tmp klasörleri noexec nosuid olarak mount edilmedi isebindshell ini çalıştırıp local bağlanıp bundan sonra exploit dener yada güvenli olmayan dosya izinlerini dener yani locla a girdikten sorna deniyecek şey çok o yüzden şimdi php_safe modu açmadan bir nebze önlemimizi alalım tabi bunu yapınca çok mu güvendeyiz hayır tabiki php ile yapılabilecke şeyler engellenebilirken adam aynı şeyi 4-5 satır perl kodu ile de yapabilir nyse başlıyalım önce php.info dosyası oluşturucaz bunu oluşturmamıızn nedeni bizim editliyeceğimiz php.ini dosyamızın nerde olduğunu bulmak cpanel olan sistemlerde 2 tane php.ini vardır fantastico kurulu ise biri biizm asıl php mizin diğeri ise fantastico nundur

şimdi phpshell in görünümüne bakalım istediğimiz komutu istetebiliriz izinlerimiz doğrultusunda

evet başlıyalım önce phpinfo dosyası oluşturucaz bir text editörü açın örnek notepad

içine bu php kodunu yazın

Kod:
<?php
phpinfo();
?>

adını phpinfo.php olarak kaydedin ve sitenizze upload edin ve tarayıcınızdan istetin
http://www.siteniz.com/phpinfo.php diye
ve şöle bir ekran gelicek karşınıza burada 6 satır aşağı baktığınız zaman php.ini nin yolu gösteriliyor Configuration File (php.ini) Path /usr/local/Zend/etc/php.ini
diyerekten şimdi serverımıza root yetkisi ile giriş yapıyoruz
daha sonra
Kod:
pico /usr/local/Zend/etc/php.ini


yazarak php konfigurasyon dosyamızı açıyoruz
açılan sayfada ctrl+w tuşlarına basıyoruz altta search yazan kısım çıktı oraya
disable_functions yazıyoruz
görünümü şu şekilde karşımıza geliyor oraya dediğim fonksiyonları sırasıyla yazıcaksınız

system,passthru,exec,popen,proc_close,proc_get_status,proc_nice,proc_open,allow_url_fopen
görünümü şu şekilde oluyor bu son yazdığım allow_url_fopen kesin yazın php safe modunu geçebilen shell lerde bu yöntem kullanılıyor dışardan bir url include ediliyor neyse
ve ctrl+x yapıp kaydedip çıkıyoruz sonra komsolumuzda apache ye bir restart çekiyoruz aşağıdaki komutu yazarak
Kod:
/etc/init.d/httpd restart

ve doğru bir şekilde editledi iseniz sorunsuz bir şekilde başlayacaktıre failed demeden evet shell imizi şimdi bir daha deniyelim

aa o ne shell imiz doğru düzgün çalışmıyor

br /> <b>Warning</b>: system() has been disabled for security reasons in <b>/home/******/public_html/shell/remview.php</b> on line <b>2064</b><br />

bu chmod ayarlarınıda kesin yapıyouz başımıza bela olmadan

Kod:

chmod 750 /usr/bin/rcp
chmod 750 /usr/bin/wget
chmod 750 /usr/bin/lynx
chmod 750 /usr/bin/links
chmod 750 /usr/bin/scp

Kaynak: http://www.av-security.com/linux-unix/php-de-tehlikeli-fonksiyonlarin-kapatilmasi



Yorum gönder