• 欢迎访问行云博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入行云博客 QQ群
  • 本站广招各类优秀作者,详情可以加群联系
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏行云博客吧

PHP建议禁用的危险函数

国信安 行云 4个月前 (05-29) 192次浏览 已收录 0个评论 扫描二维码

PHP配置文件中的disable_functions选项能够在PHP中禁用指定的函数。PHP中有很多危险的内置功能函数,如果使用不当,可造成系统崩溃。禁用函数可能会为研发带来不便,但禁用的函数太少又可能增加研发人员写出不安全代码的概率,同时为黑客非法获取服务器权限提供遍历。

PHP配置文件中添加需要禁用的函数可以有效避免webshell。在PHP中配置如下:

disable_functions=phpinfo,eval,exec,system,chroot,shell_exec,chown……

函数名称函数功能危险级别
chgrp()改变文件或目录所属的用户组
chown()改变文件或目录的所有者
chroot()可改变当前PHP进程的工作根目录,仅当系统支持CLI模式时PHP才能工作,且该函数不适用于Windows系统
dl()在PHP运行过程当中(而非启动时)加载一个PHP外部模块
exec()允许执行一个外部程序(如UNIX Shell或CMD命令等)
ini_alter()时ini_set()函数的一个别名函数,功能与ini_set()相同
ini_restore()可用于将PHP环境配置参数恢复为初始值
ini_set()可用于修改、设置PHP环境配置参数
passthru()允许执行一个外部程序并回显输出,类似于exec()
pfsockopen()建立一个Internet或UNIX域的socket持久连接
phpinfo()输出PHP环境信息以及相关的模块、web环境等信息
popen()可通过popen()的参数传递一条命令,并对popen()所打开的文件进行执行
proc_get_status()获取使用proc_open()所打开进程的信息
proc_open()执行一个命令并打开文件指针用于读取以及写入
putenv()用于在PHP运行时改变系统字符集环境。在低于5.2.6版本的PHP中,可利用该函数。
修改系统字符集环境后,利用sendmail指令发送特殊参数执行系统Shell命令
shell_exec()可通过Shell执行命令,并将执行结果作为字符串返回
symlink()对已有的target建立一个名为link的符号链接
system()允许执行一个外部程序并回显输出,类型于passthru()
readlink()返回符号连接指向的目标文件内容
scandir()列出指定路径中的文件和目录
stream_socket_server()建立一个Internet或UNIX服务器连接
syslog()可调用UNIX系统的系统层syslog()函数

参考:《PHP安全配置》


行云博客 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我(admin@xy586.top)联系处理。敬请谅解!

喜欢 (1)
[行云博客]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址