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来检测proxy
Oct 09 PHP
php网页后退不再出现过期
Mar 08 PHP
phpinfo 系统查看参数函数代码
Jun 05 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
PHP的引用详解
Feb 22 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
基于php实现七牛抓取远程图片
Dec 01 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
PHP实现小偷程序实例
Oct 31 PHP
thinkPHP交易详情查询功能详解
Dec 02 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 写文本日志实现代码
2010/05/18 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
修改vue+webpack run build的路径方法
2018/09/01 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
python爬取网站数据保存使用的方法
2013/11/20 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
python实现两个文件夹的同步
2019/08/29 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
详解python对象之间的交互
2020/09/29 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
农村婚礼证婚词
2014/01/08 职场文书
试用期员工考核制度
2014/01/22 职场文书
办理信用卡工作证明
2014/09/30 职场文书
仓库管理制度范本
2015/08/04 职场文书
Python基础之pandas数据合并
2021/04/27 Python
MySQL连接控制插件介绍
2021/09/25 MySQL
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA