免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: powerpolly
打印 上一主题 下一主题

大爆冷门!如何突破SESSION的安全机制 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-07-25 12:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
12 [报告]
发表于 2007-07-25 12:47 |只看该作者
哈哈,ls有理

论坛徽章:
0
13 [报告]
发表于 2007-07-25 13:02 |只看该作者
原帖由 绿茵汗将 于 2007-7-25 10:58 发表
这个属于http协议的问题吧,jsp、.net哪个不是通过sessionid来识别的?

再说如2楼,正常退出就用session_destroy了,你再把sid传递过来又如何。你这个sessionid相关联的session都被unset了。。。。


session_unset()这个方法是释放当前的SESSION是不错,SESSION内容是一个序列化的数组。象这样:

$_SESSION = array( "permission" => 0~3 );
0~3代表不同级别的管理权限。


而验证代码无非是这样:

if( $_SESSION['permission'] == 0 )
  echo "superadmin";
elseif( $_SESSION['permission'] == 1 )
  echo "admin";
elseif( $_SESSION['permission'] == 2 )
  echo "editor";
else
  echo "user";


这样,身份验证代码可能会有问题,当我附加一个还没作废的SESSION id的请求时,S还是会检查这个SESSION ID对应的临时文件是否有记录。如果我用管理员的session id来请求,这可能会产生问题:em11:

论坛徽章:
0
14 [报告]
发表于 2007-07-25 13:10 |只看该作者
原帖由 yarco3 于 2007-7-25 12:11 发表
其实很简单. 我也会.
谁告诉我服务器root帐号/密码, 然后我就去找session的存放目录, 在那个白痴的sess_文件里, 修改serialize过的数据.
就在刹那间, 偶有了数据库的admin权限, 哈哈哈哈...
不过我很奇怪的是 ...


这个比方打的有些牵强

论坛徽章:
0
15 [报告]
发表于 2007-07-25 13:13 |只看该作者
原帖由 小胡他爹 于 2007-7-25 08:54 发表
你电脑给人家用还说这些话。


这总有不可避免的时候吧,再如6楼所说,可以从网关截获,不一定非要进他的电脑

论坛徽章:
0
16 [报告]
发表于 2007-07-25 13:42 |只看该作者
如果管理员正常退出了,session_destroy之后,服务器端连session文件都找不到了。不信你到tmp里边找找试试。所以正常退出,被人再找回session id再send到server就可以通过验证的肯定是不行的。

但是做web没有绝对的安全,在你session有效的时间内,网关同样可以嗅探到 session id,如果你怕网关知道传递的session id,那么用https加密咯。同时要求客户端离开电脑立马锁定电脑。

论坛徽章:
0
17 [报告]
发表于 2007-07-25 18:32 |只看该作者
回楼上的。是的,用了它应该就无办法了。但如果程序里面没用session_destroy就不好说了,因为WIN下面用session_destroy有问题,一般都是用session_unset(),而现在WIN服务器仍然有部分人用,我觉的至少在网关层次控制SESSION是可行的。你觉的呢?

论坛徽章:
0
18 [报告]
发表于 2007-07-25 22:23 |只看该作者
呵呵,如果这么较真的话,安全问题多了。
你的用户名、密码还要通过网关传输呢,网关截取密码就可以了,何需取session id
就算你的网站通过ssl加密了,那网关还可以截获用户在别的网站的密码——一个用户常用的密码也就那么几个
如果楼主真的对安全性要求那么高的话,自己写activeX控件了,不仅可以加密还可以防键盘记录,再配上https,哈哈,那就固若金汤了。
不过,这已经超出php的范围了。

论坛徽章:
0
19 [报告]
发表于 2007-07-26 03:10 |只看该作者

论坛徽章:
0
20 [报告]
发表于 2007-07-26 15:11 |只看该作者
原帖由 绿茵汗将 于 2007-7-25 22:23 发表
呵呵,如果这么较真的话,安全问题多了。
你的用户名、密码还要通过网关传输呢,网关截取密码就可以了,何需取session id
就算你的网站通过ssl加密了,那网关还可以截获用户在别的网站的密码——一个用户常用 ...



扯远了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP