php变量覆盖漏洞

来源:互联网 发布:string数组删除元素 编辑:程序博客网 时间:2024/04/29 17:13

Php变量覆盖漏洞


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

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

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

<?phpforeach ($_GET as $key => $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

0 0
原创粉丝点击