Linux
apache沒有目錄保護
這看起來很奇怪,我在 CentOS 盒子裡有一個 apache httpd 伺服器,它有這個安全問題:
虛擬主機已啟用,該站點位於 /data/www/vhost2/index.php 如果我告訴 index.php 在 ../../ 中查找文件(因此它退出 www 目錄),它看起來像這樣看到它!如何阻止 php 查看此目錄之外的內容?我必須使用 basedir 嗎?虛擬主機怎麼樣,是否可以以類似沙盒的方式為每個文件夾執行此操作?
謝謝
黑客通常使用符號連結繞過 open_basedir。我的伺服器被黑客入侵了好幾次。最好的方法是安裝 Suhosin 並禁用符號連結等潛在危險功能。以下是安裝教程的連結可能舊但可能有效
http://www.webhostgear.com/416.html
然後使用 php.ini 中的以下指令阻止以下函式
suhosin.executor.func.blacklist = "show_source,shell_exec,passthru,exec,popen,system,system, shell_exec, passthru, exec, popen, proc_open, symlink, php_uname,etmyuid,passthru,leak,listen,diskfreespace,link,ignore_user_abord,shell_exec,dl,exec,highlight_file,source,show_source,fpaththru,virtual,posix_ctermid,posix_getcwd,symlink,popen,system,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate"