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学习笔记之二 php入门知识
Jan 12 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
深入PHP数据缓存的使用说明
May 10 PHP
PHP json_encode中文乱码问题的解决办法
Sep 09 PHP
推荐几个开源的微信开发项目
Dec 28 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
PHP写API输出的时用echo的原因详解
Apr 28 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
discuz Passport 通行证 整合笔记
2008/06/30 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
浅谈PHP表单提交(POST&GET&URL编/解码)
2017/04/03 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
CentOS安装pillow报错的解决方法
2016/01/27 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python短信轰炸的代码
2020/03/25 Python
keras多显卡训练方式
2020/06/10 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
保护动物倡议书
2014/04/15 职场文书
生活小常识广播稿
2014/09/16 职场文书
MBA推荐信怎么写
2015/03/25 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers