如题所述
您好,可能会出现全局变量被覆盖,导致注入的漏洞。
在register_globals=ON时,全局变量GLOBALS可能会被参数覆盖,可以控制变量。
各种变量都被注入代码,例如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的。那么就有可能导致不安全,假如有人恶意发出这么一个get请求"unsafe.php?GLOBALS=",那么就会清除$GLOBALS变量的值而导致不安全。
在register_globals=ON时,全局变量GLOBALS可能会被参数覆盖,可以控制变量。
各种变量都被注入代码,例如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的。那么就有可能导致不安全,假如有人恶意发出这么一个get请求"unsafe.php?GLOBALS=",那么就会清除$GLOBALS变量的值而导致不安全。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2023-02-09
当 PHP 版本小于 5.3.7 且启用了 register_globals、open_basedir 功能时,存在许多漏洞,包括:
跨站脚本攻击(XSS)
跨站请求伪造(CSRF)
服务器端请求伪造(SSRF)
本地文件包含漏洞(LFI)
远程文件包含漏洞(RFI)
SQL 注入攻击
访问控制漏洞
因此,强烈建议将 PHP 版本升级到 5.3.7 或更高版本,并禁用 register_globals 功能。另外,请注意所有输入数据的验证和过滤,以防止攻击者利用以上漏洞进行攻击。