php变量覆盖漏洞

Php变量覆盖漏洞


Pw » php变量覆盖漏洞(http://itsafe.org/?p=835)

两种情况,第一种register_globals,第二种人为变量覆盖
1、register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。PHP4默认开启,PHP5以后默认关闭。

2、人为变量覆盖,如下代码:

 $value) {
    ${$key} = $value;
}
echo $a;
?>

Get得到的数据$key和$value,关键第3行,${$key}用get传进来的$key做为新的变量,将get传进来的$value赋值给它。
如果传进参数http://itsafe.org/test.php?a=1 第3行回解析为$a=1。
知识点:可变变量,$$a、${$a} http://www.php.net/manual/zh/language.variables.variable.php

你可能感兴趣的:(PHP安全)