PHP de tehlikeli fonksiyonların kapatılması
By husmen73 on Tem 12, 2008 in PHP
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
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