您的位置:首页 > 编程语言 > PHP开发

php变量覆盖漏洞

2016-03-21 11:10 711 查看

来源:本站转载 作者:佚名 时间:2013-04-10 TAG: 我要投稿

两种情况,第一种register_globals,第二种人为变量覆盖1、register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。PHP4默认开启,PHP5以后默认关闭。2、人为变量覆盖,如下代码:
<?php
foreach ($_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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: