关于PHP中session问题
迷茫
迷茫 2017-04-11 09:50:12
[PHP讨论组]

可以从别的电脑上找session拷备到我电脑上来伪造原电脑用户登陆吗?
这是我一直没理解session的一点。。我说和理论上可以吗?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
大家讲道理

你没弄明白session和cookie的区别. session默认是个会话文件, 存在服务器端的, sessid就是会话文件的唯一标识,也就是文件名. 一般情况是通过cookie来传递sessid的, 因为http协议是无状态的, 所以每次都得传, 才能确定上一个请求和下一个请求的是不是同一个访问者.

那既然用sessid可以标识会话的唯一性, 那你能拿到它,自然也就可以登录别人的网站了. 你自己可以做个实验验证一下, 把segmentfault网站的cookie中的phpsessid拷贝到另一个浏览器上, 你会发现另一个浏览器也登录了.

原理很简单,但是你要利用http协议的不安全来攻击别人, 操作起来就没有那么简单,你要嗅探局域网,如果网站用的是https,你就歇菜了.

怪我咯

客户端是通过会话COOKIE来获取服务器的SESSION内容的,所以有了这个会话COOKIE是可以通过其他途径同样获取到SESSION内容的。
当然首先这个SESSION还没被销毁。

高洛峰

可以从别的电脑上找cookie拷备到你电脑上来伪造原电脑用户登陆,一般xss就是用来干这个的。
客户端(也就是原用户的电脑)是没有session的,只有cookie,session存储在服务器中

阿神

存在本地客户端的是cookie不是session,cookie中包含sessionid。服务器收到包含sessionid的http请求后,对头字段cookie中的sessionid进行验证,并根据id取出对应的客户数据。

所以是可以伪造的不过不是伪造session而是伪造cookie

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号