当php版本小于5.30点7+register+gl+o+bas=on时会存在哪种漏洞?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当php版本小于5.30点7+register+gl+o+bas=on时会存在哪种漏洞?相关的知识,希望对你有一定的参考价值。

您好,可能会出现全局变量被覆盖,导致注入的漏洞。
在register_globals=ON时,全局变量GLOBALS可能会被参数覆盖,可以控制变量。
各种变量都被注入代码,例如来自 html 表单的请求变量。再加上 php 在使用变量之前是无需进行初始化的。那么就有可能导致不安全,假如有人恶意发出这么一个get请求"unsafe.php?GLOBALS=",那么就会清除$GLOBALS变量的值而导致不安全。
参考技术A

当 PHP 版本小于 5.3.7 且启用了 register_globals、open_basedir 功能时,存在许多漏洞,包括:

    跨站脚本攻击(XSS)

    跨站请求伪造(CSRF)

    服务器端请求伪造(SSRF)

    本地文件包含漏洞(LFI)

    远程文件包含漏洞(RFI)

    SQL 注入攻击

    访问控制漏洞

    因此,强烈建议将 PHP 版本升级到 5.3.7 或更高版本,并禁用 register_globals 功能。另外,请注意所有输入数据的验证和过滤,以防止攻击者利用以上漏洞进行攻击。

register_globals

register_globals参数为On的时候很危险

这里记录一下各版本register_globals的情况

 

PHP5.2版本register_globals默认为On 

 

PHP5.3 PHP5.3n版本register_globals默认为Off

 

PHP5.5版本register_globals配置被删除,书上说的是5.4就被删了,不过我这里phpstudy没有5.4版本

 

register_globals的危害:会将用户提交的GET,POST参数注册成全局变量并初始化为参数对应的值

以上是关于当php版本小于5.30点7+register+gl+o+bas=on时会存在哪种漏洞?的主要内容,如果未能解决你的问题,请参考以下文章

代码审计读书笔记一

php的spl_autoload_register函数的一点个人见解

基于CentOS6.5环境之下的LNMP之编译安装PHP5.5.30

register_globals

安全-EmpireCMS 小于等于7.5版本后台XSS漏洞复现

5.30周总结15