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桌面中心(二) 数据库写入
Mar 11 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
thinkphp中html:list标签传递多个参数实例
Oct 30 PHP
PHP跨平台获取服务器IP地址自定义函数分享
Dec 29 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 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文件缓存smarty模板应用实例分析
2016/02/26 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
泰国第一在线超市:Tops
2021/02/13 全球购物
保险专业大专生求职信
2013/10/26 职场文书
学生请假条格式
2014/04/11 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
企业员工薪酬方案
2014/06/04 职场文书
新闻发布会策划方案
2014/06/12 职场文书
个人房屋转让协议书范本
2014/10/26 职场文书
运动会开幕式致辞
2015/07/29 职场文书