PHP 危险函数全解析


Posted in PHP onSeptember 09, 2009

在编译 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数组实现无限分类,不使用数据库,不使用递归.
Dec 09 PHP
怎样去阅读一份php源代码
Aug 21 PHP
php 调用远程url的六种方法小结
Nov 02 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
Apr 07 PHP
解析php中const与define的应用区别
Jun 18 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
php遍历CSV类实例
Apr 14 PHP
php搜索文件程序分享
Oct 30 PHP
php根据用户语言跳转相应网页
Nov 04 PHP
CodeIgniter自定义控制器MY_Controller用法分析
Jan 20 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
php 获取远程网页内容的函数
Sep 08 #PHP
php 遍历数据表数据并列表横向排列的代码
Sep 05 #PHP
不要轻信 PHP_SELF的安全问题
Sep 05 #PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
Sep 05 #PHP
php getsiteurl()函数
Sep 05 #PHP
PHP 内存缓存加速功能memcached安装与用法
Sep 03 #PHP
用PHP读取flv文件的播放时间长度
Sep 03 #PHP
You might like
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
python基础教程之获取本机ip数据包示例
2014/02/10 Python
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
常见python正则用法的简单实例
2016/06/21 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
实习教师自我鉴定
2013/09/27 职场文书
应届毕业生自我鉴定范文
2013/12/27 职场文书
八年级生物教学反思
2014/01/22 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
介绍信的写法
2015/01/31 职场文书
2019财务转正述职报告
2019/06/27 职场文书
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers