PHP'de Tehlikeli Fonksiyonların Kapatılmas

Evet bu yazıda php ninsizin 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 ise bindshell 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

[url=http://members.lycos.co.uk/anlatim/res/shell1.jpg]http://members.lycos.co.uk/anlatim/res/shell1.jpg[/url]

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
[url=http://www.siteniz.com/phpinfo.php]http://www.siteniz.com/phpinfo.php[/url] diye

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


Kod:
system,dl,passthru,exec,shell_ exec,popen,proc_close,proc_get _status,proc_nice,
proc_open,allow_url_fopen ,chown,chgrp,escapeshellcmd,es capeshellarg,show_source,posix _mkfifo,set_time_lim it,
mysql_list_dbs,get_current_use r ,getmyuid,pconnect,link,symlin k,pcntl_exec,ini_alter,parse_i ni_file,
chmod,curl_exec

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 Hehe

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 Döküman ....net için benim tarafımdan hazırlanmıştuır lütfen alıntı yaparken aldığınız yeri belirtin emeğe azda olsa saygı Çok mutlu


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
chmod 750 /usr/bin/curl
chmod 750 /usr/bin/nc

ALINTIDIR.

Konular

Hanci.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor.
Hanci.org sitesini kullanarak çerez politikamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.