PHP 危险函数解释 分析

 更新时间:2009年04月22日 23:00:52   转载 作者:  
在编译 PHP 时,如无特殊需要,一定禁止编译生成 CLI 命令行模式的 php 解析支持。
可在编译时使用 –disable-cli。一旦编译生成 CLI 模式的 PHP,则可能会被入侵者
利用该程序建立一个 WEB Shell 后门进程或通过 PHP 执行任意代码!

phpinfo()
功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。
危险等级:中

passthru()
功能描述:允许执行一个外部程序并回显输出,类似于 exec()。
危险等级:高

exec()
功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。
危险等级:高

system()
功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。
危险等级:高

chroot()
功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式
PHP 时才能工作,且该函数不适用于 Windows 系统。
危险等级:高

scandir()
功能描述:列出指定路径中的文件和目录。
危险等级:中

chgrp()
功能描述:改变文件或目录所属的用户组。
危险等级:高

chown()
功能描述:改变文件或目录的所有者。
危险等级:高

shell_exec()
功能描述:通过 Shell 执行命令,并将执行结果作为字符串返回。
危险等级:高

proc_open()
功能描述:执行一个命令并打开文件指针用于读取以及写入。
危险等级:高

proc_get_status()
功能描述:获取使用 proc_open() 所打开进程的信息。
危险等级:高

error_log()
功能描述:将错误信息发送到指定位置(文件)。
安全备注:在某些版本的 PHP 中,可使用 error_log() 绕过 PHP safe mode,
执行任意命令。
危险等级:低

ini_alter()
功能描述:是 ini_set() 函数的一个别名函数,功能与 ini_set() 相同。
具体参见 ini_set()。
危险等级:高

ini_set()
功能描述:可用于修改、设置 PHP 环境配置参数。
危险等级:高

ini_restore()
功能描述:可用于恢复 PHP 环境配置参数到其初始值。
危险等级:高

dl()
功能描述:在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块。
危险等级:高

pfsockopen()
功能描述:建立一个 Internet 或 UNIX 域的 socket 持久连接。
危险等级:高

syslog()
功能描述:可调用 UNIX 系统的系统层 syslog() 函数。
危险等级:中

readlink()
功能描述:返回符号连接指向的目标文件内容。
危险等级:中

symlink()
功能描述:在 UNIX 系统中建立一个符号链接。
危险等级:高

popen()
功能描述:可通过 popen() 的参数传递一条命令,并对 popen() 所打开的文件进行执行。
危险等级:高

stream_socket_server()
功能描述:建立一个 Internet 或 UNIX 服务器连接。
危险等级:中

putenv()
功能描述:用于在 PHP 运行时改变系统字符集环境。在低于 5.2.6 版本的 PHP 中,可利用该函数
修改系统字符集环境后,利用 sendmail 指令发送特殊参数执行系统 SHELL 命令。
危险等级:高

相关文章

  • PHP 编写大型网站问题集

    PHP 编写大型网站问题集

    是否容易维护、是否足够健壮、否效率足够高、是否足够安全,当PHP用于建立大型网站时这些就成为很关键的因素。
    2010-05-05
  • 在PHP程序中使用Rust扩展的方法

    在PHP程序中使用Rust扩展的方法

    这篇文章主要介绍了在PHP程序中使用Rust扩展的方法,Rust是近来新兴的编译型语言,性能十分出众,需要的朋友可以参考下
    2015-07-07
  • php实现上传图片文件代码

    php实现上传图片文件代码

    在PHP程序开发中,文件上传是一个使用非常普遍的功能,也是PHP程序员的必备技能之一。值得高兴的是,在PHP中实现文件上传功能要比在Java、C#等语言中简单得多。下面我们结合具体的代码实例来详细介绍如何通过PHP实现文件上传和多文件上传功能。
    2015-07-07
  • PHP移动文件指针ftell()、fseek()、rewind()函数总结

    PHP移动文件指针ftell()、fseek()、rewind()函数总结

    这篇文章主要介绍了PHP移动文件指针ftell()、fseek()、rewind()函数总结,本文先是对它们的作用做了讲解,然后给出具体使用例子,需要的朋友可以参考下
    2014-11-11
  • thinkphp3.2点击刷新生成验证码

    thinkphp3.2点击刷新生成验证码

    这篇文章主要介绍了thinkphp3.2点击刷新生成验证码的相关资料,需要的朋友可以参考下
    2016-02-02
  • php自动跳转中英文页面

    php自动跳转中英文页面

    当来访者浏览器语言是中文就进入中文版面 国外的用户默认浏览器不是中文的就跳转英文页面
    2008-07-07
  • PHP中删除变量时unset()和null的区别分析

    PHP中删除变量时unset()和null的区别分析

    当程序里不再使用某些大体积的变量时(如:数组或对象),我们有必要删除它们
    2011-01-01
  • php最简单的删除目录与文件实现方法

    php最简单的删除目录与文件实现方法

    这篇文章主要介绍了php最简单的删除目录与文件实现方法,只需要两行代码即可实现删除目录与文件的功能,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • asp.net和php的区别点总结

    asp.net和php的区别点总结

    在本篇文章里小编给大家分享了关于asp.net和php的区别的相关知识点,需要的朋友们可以分享下。
    2019-10-10
  • PHP面向对象概念

    PHP面向对象概念

    要详细了解PHP OO最好看PHP手册。大家都知道的部分就不说了,这里只记下容易忘记的部分
    2011-11-11

最新评论