搜索disable_functions
然后改为=disable_functions=phpinfo,dl, exec, system,passthru,popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, escapeshellcmd, shell-exec, crack_check, crack_closedict, crack_getlastmessage, crack_opendict, psockopen, symlink, ini_restore, posix_getpwuid, pfsockopen
下面是以上函数详解:
phpinfo——显示php服务器的配置信息
dl—–dl()函数允许在php脚本里动态加载php模块,默认是加载extension_dir目录里的扩展,该选项是PHP_INI_SYSTEM 范围可修改的,只能在php.ini或者apache主配置文件里修改。当然,你也可以通过enable_dl选项来关闭动态加载功能,而这个选项默认为 On的,事实上也很少人注意到这个。dl()函数在设计时存在安全漏洞,可以用../这种目录遍历的方式指定加载任何一个目录里的so等扩展文件, extension_dir限制可以被随意饶过。所以我们可以上传自己的so文件,并且用dl函数加载这个so文件然后利用so文件里的函数执行其他操作,包括系统命令。
exec—-执行外部命令函数 执行系统外部命令 system() exec() passthru()proc_open()shell-exec()
popen() 函数 用 创建管道 的 方式 启动 一个 进程, 并调用 shell.
pclose() 函数关闭由 popen() 打开的管道
proc_nice更改当前进程的优先级
proc_terminate – 杀敌proc_open打开进程
proc_get_status – 约开了一个过程中获取的信息proc_open()
proc_close – 关闭进程开proc_open()并返回该进程的退出代码
leak泄出内存
apache_child_terminate — 在本次请求结束后终止 apache 进程
escapeshellcmd本函数除去了字符串中的特殊符号,可以防止使用者耍花招来破解该服务器系统。可以用本函数搭配 exec() 或是 system() 二个函数
crack_check – 执行一个给定的密码晦涩检查
crack_closedict, crack_getlastmessage, crack_opendict—都是实验性函数,php手册提示说出问题后果自负(还是关闭了算了)
psockopen–打开网络的 Socket 链接。
symlink() 函数创建符号连接。
ini_restore – 恢复一个配置选项的值
posix_getpwuid – 返回有关用户ID用户信息
pfsockopen – 开放持续的Internet或Unix域套接字连接