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.
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
- Port Scanning
- cPanel Kurulumu
- Uzak Masaüstü Bağlantısı - Remote Desktop Connection
- AWBS Nedir?
- Awbs Hakkinda Detayli Bilgiler Dersler
- Confixx Admin sifresini unutursak?
- SSH ile Cron Yöntemi ile Otomatik Sql yedeklemek
- Linux ROOT Sifresi degistirme
- Domain Backorder
- Dikkat kredi kartı şebekesi-tuzaklarında hostingcilerde var
- Babylon Sözlük 729 adet
- MySql Şifresini Resetlemek
- htaccess'te Queriy_string islemleri ve gönderme
- htaccess ile bir yerdeki birdne cok domaini calistirmak
- SoftException in Application.cpp:302 (Error500) düzenleme
- Root girisli yüklenen drupal dil ve diger eklenti hatalari
- linux serverde yeni ip ekleme islemi
- Web Sitem Güvendemi?
- Linux üzerine site ve forumlar
- Linux recovery üzerinden harddisk baglama (mount)
- SQL Sorgusunda saat ve haftaya göre aratma (DAYOFWEEK)
- Submit JavaScript ile formda nasıl yapılabilir
- Gönderme FORM un da resim kullanma
- Java script ile form verilerini kontrol edebilme
- Size Teşekkür Edenler Var!
- Flash ile grafiksel gösterimler (charts)
- MySQL Replikasyon İşlemi
- Çoklu MySQL Veritabanı Tamir Etme
- Templates Siteleri
- Drupal themaları