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 命令。
危险等级:高
禁用方法如下:
打开/etc/php.ini文件,
查找到 disable_functions ,添加需禁用的函数名,如下:
phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_statu
参考链接:http://bbs.chinablackhat.com/thread-6749-1-3.html
相关推荐
以下是一些常见的需要禁用的PHP危险函数及其详细解释: 1. `phpinfo()`: 这个函数会输出关于PHP环境的详细信息,包括服务器配置、模块版本等,暴露过多系统信息可能增加被攻击的风险。 2. `passthru()`: 它允许...
在PHP中,`disable_functions`配置选项用于禁用某些被认为不安全或潜在危险的函数,以提高系统的安全性。然而,安全措施往往伴随着绕过的方法,本文主要探讨如何理解和利用`disable_functions`禁用机制的原理,以及...
此外,在部署应用程序时,应当对PHP配置进行严格控制,如禁用那些不必要的危险函数,或者在没有特殊需求的情况下,不启用PHP的命令行模式。在系统层面,应当定期进行安全审计,并使用最新的安全补丁来减少安全风险。
被禁用的函数大致可以分为几类:文件系统操作函数、环境变量操作函数、进程控制函数、数据库连接函数和其他危险函数。 具体到文件系统操作函数,主要包括了用于文件读写的函数如fopen()、fread()、fwrite()、unlink...
在PHP编程中,有一些函数由于其特殊的性质,可能被恶意用户利用来执行危险操作,因此被称为“危险函数”。这些函数如果被不小心或者未经授权地使用,可能导致严重的安全问题,例如执行任意系统命令、泄露敏感信息...
首先,我们知道`disable_functions`是基于黑名单机制,因此如果配置不完整,仍可能存在未被禁用的危险函数。例如,有时会忽略掉`passthru`或`pcntl_exec`等不太常见的系统调用函数,这些可以用来执行命令。 在Unix...
八、禁用危险函数 修改 php.ini 文件,禁用危险函数,如 phpinfo、eval、passthru、exec、system、chroot 等。 九、uploads 文件大小限制 修改 php.ini 文件,添加 upload_max_filesize 语句,以限制上传文件...
在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险并经常会出现一些问题,今天我们就一起来看看eval函数对数组的操作及php 如何禁用eval() 函数,需要的朋友可以参考下
在PHP开发中,eval函数是一种非常强大但同时也非常危险的功能,它允许执行PHP代码字符串。如果开发者不小心或恶意使用,可能对服务器造成安全漏洞。在PHP 5.x版本中,由于eval不是简单的函数而是PHP底层的一部分,...
总的来说,对PHP进行安全配置涉及多个方面,包括开启安全模式、控制文件访问权限、禁用危险函数以及优化变量处理等。每个设置都需要根据服务器的具体情况和应用的需求来调整,以达到最佳的安全效果。通过这些措施,...
6. **禁用危险函数**:通过`disable_functions`,可以禁止使用可能带来安全风险的函数,例如系统执行函数和文件操作函数。示例配置:`disable_functions = system,passthru,exec,shell_exec,popen,PHPinfo`。 7. **...
6. **安全设置**:为了保护服务器安全,用户需要关注PHP的安全配置,如禁用危险函数,限制文件系统访问,设置合适的权限等。 7. **调试与日志**:配置错误日志和调试模式,以便在开发过程中定位和解决问题。 8. **...
配置文件中,如果启用了安全模式,这些函数可能会被禁用,因为它们可能被用来执行危险的操作。 2. **输入验证**:永远不要直接将未经验证的用户输入传递给这些函数,否则可能导致命令注入攻击。 3. **输出控制**:...
可以使用预编译语句、过滤用户输入、禁用危险函数等方式提高安全性。 5. **框架应用**:为了提高开发效率和代码质量,可能会使用PHP框架,如Laravel、Symfony或CodeIgniter。框架提供了MVC(模型-视图-控制器)架构...
#### (6) 禁用危险函数 在安全模式下,还可以通过`disable_functions`选项禁用一些潜在危险的函数,例如: ```ini disable_functions = system,passthru,exec,shell_exec,popen,phpinfo ``` 除了以上列举的函数外...
在生产环境中,为了提高安全性,还需要配置PHP的限制,例如限制文件上传大小、禁用危险函数等,这些都可以在`/etc/php.ini`中调整。 十、持续更新与维护 尽管5.6.36是一个稳定的版本,但随着时间推移,安全漏洞可能...
例如,可能已经预设了合适的PHP安全设置,如限制文件上传大小、禁用危险函数等。同时,可能会预先调整PHP的内存限制、错误报告级别等,以提升服务器性能。 5. **测试与调试**:安装后,可以通过在IIS中创建一个新的...
- 安全性:在 IIS 中运行 PHP,需要关注安全设置,如限制权限、禁用危险函数、配置防火墙规则等。 4. 压缩包文件 v5.2 可能包含: - php5isapi.dll 或 php5fcgi.dll:ISAPI 或 FastCGI 扩展模块。 - ...
4. **禁用危险函数**:在服务器配置中禁用可能导致安全风险的函数,如`file_put_contents()`等。 通过上述分析可以看出,ThinkCMF中的文件包含漏洞虽然可以通过一些技巧来绕过防火墙,但只要采取合适的防护措施,...