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编程语言开发动态WAP页面
Oct 09 PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
php下删除字符串中HTML标签的函数
Aug 27 PHP
php cookie 登录验证示例代码
Mar 16 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
Apr 21 PHP
一段实用的php验证码函数
May 19 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
PDO::setAttribute讲解
Jan 29 PHP
PHP字符串与数组处理函数用法小结
Jan 07 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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中,文件上传
2006/12/06 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP中::、->、self、$this几种操作符的区别介绍
2013/04/24 PHP
php curl模拟post请求小实例
2013/11/13 PHP
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
用Python解决计数原理问题的方法
2016/08/04 Python
matplotlib中legend位置调整解析
2017/12/19 Python
python单例模式实例解析
2018/08/28 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Python模块的加载讲解
2019/01/15 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
C面试题
2015/10/08 面试题
标准导师推荐信(医学类)
2013/10/28 职场文书
感恩之星事迹材料
2014/05/03 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
放射科岗位职责
2015/02/14 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
win10搭建配置ftp服务器的方法
2022/08/05 Servers