Vulnerability parse str()变量覆盖:修订间差异

来自三线的随记
(创建页面,内容为“{{DISPLAYTITLE:vulnerability_parse_str()变量覆盖}} vulnerability_parse_str()变量覆盖 parse_str ( string <code>$encoded_string</code> [, array <code>&…”)
 
无编辑摘要
 
第14行: 第14行:


[[分类:PHP]]
[[分类:PHP]]
[[category:Ctf]]

2019年5月13日 (一) 09:46的最新版本


vulnerability_parse_str()变量覆盖

parse_str ( string $encoded_string [, array &$result ] ) : void

极度不建议 在没有 result 参数的情况下使用此函数,并且在 PHP 7.2 中将废弃不设置参数的行为。

在函数中动态设置变量会和 register_globals 有同样的问题。

阅读https://www.php.net/manual/zh/security.globals.php,解释了它为什么是危险的。

parse_str() 函数用于把查询字符串解析到变量中,如果没有array 参数,则由该函数设置的变量将覆盖已存在的同名变量。