做人要低调,低调
-
- 今天有网友在PHPX发表了一篇文章"惊人发现:PHP所有版本 SESSION 漏洞",结果引来嘲笑一片,而作者多处发这帖子,就象发现了新大陆一样,并且采用一种眼球字眼"惊人发现",有种不名不罢休的架势...作者固然应该低调,而我们似乎也有些浮躁了,做学问是要静心滴,尽管作者的想法不对,而结果也是错误滴,但是这种学习的精神还是值得赞扬的
原文内容
惊人发现:PHP所有版本 SESSION 漏洞
关键字:php 漏洞 session register_globals 登录 安全
先看这一段简单的代码
<?php
session_start();
$_SESSION['isadmin']='yes';
$isadmin='no';
echo $_SESSION['isadmin'];
?>
当php.ini里配置 register_globals = Off 时,
没任何问题,
输出 yes
但是
当php.ini里配置 register_globals = On 的时候,
第一次运行输出 yes
而刷新一下,则显示的是 no
显然这是不正常的,
这是个很奇怪的问题,
如果说是 $isadmin='no'; 改变了SESSION,
那么为什么第一次会显示yes呢?
都知道:当配置 register_globals = On 的时候,
通过 xxx.php?id=123 访问时,程序会自动创建变量 id
那么自动创建的变量会不会改变SESSION呢?
测试代码
<?php
//xxx.php
session_start();
echo $_SESSION['id'];
?>
通过 xxx.php?id=123 访问,没任何输出,
还好,不然不知道将有多少
采用 SESSION 做登录的
而PHP配置 register_globals 为 On 的网站
将被随便登录。
还有两个常用的函数 import_request_variables() 和 extract()
import_request_variables -- 将 GET/POST/Cookie 变量导入到全局作用域中
extract -- 从数组中将变量导入到当前的符号表
<?php
//xxx.php
import_request_variables('G');
echo $id;
?>
当通过xxx.php?id=123访问的时候,
就算 register_globals 设为 Off
也是会输出123
extract($_GET) 与 import_request_variables('G') 功能相似
那么试试import_request_variables() 与 extract()创建的变量会不会影响SESSION呢?
测试代码
<?php
//xxx.php
session_start();
import_request_variables('G');
echo $_SESSION['id'];
?>
当通过xxx.php?id=123访问程序,
没有输出,再用extract($_GET)代替import_request_variables('G')测试,
还是没输出,这一点又很奇怪了,因为测试
<?php
session_start();
$arr=array('id'=>123);
extract($arr);
echo $_SESSION['id'];
?>
register_globals 为 On 时
会输出 123
看来同样是数组,
extract 处理 $_GET 与处理定义的数组
用的是不一样的方法。
结论:
register_globals 为 On 的时候,
用import_request_variables('G')和extract($_GET)创建的变量是不会改变SESSION的。
总结:漏洞只存在于PHP配置register_globals = On的时候,定义的变量会改变同名的SESSION。
转载请保留
作者:Cos.X
日期:2007年6月13日
ps. 结果让我挺失望的,以为会发现一个惊人的PHP SESSION 登录安全漏洞。
-
- 上一主题: 什么是爱情,什么是婚姻 下一主题: 累
- 查找相关文章:低调
- 一
- 二
- 三
- 四
- 五
- 六
- 日
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
-
-
-
-
-
-
-
-
-
-
-
- Copyright ©2005 - 2007 老李的个人日志. All Rights Reserved
- 本日志程式及模版由老李(QQ:8989215)编写维护
- 粤ICP备06043306号