我如何确定会话有效?如果用户更改他的 aspnet sessionid cookie 并猜测另一个登录用户的 id 会发生什么?
问问题
1442 次
2 回答
1
如果我正确理解了这个问题,那就是有人手动打开他们的 ASP.NET 会话 cookie,更改值,然后将其发送出去,并将更新后的值识别为其他人的会话,并以该人的身份登录。
会话 cookie 和身份验证 cookie 之间存在一些混淆。猜测登录者的会话 ID将“获取”您的会话,但除非您也拥有他们的身份验证 cookie,否则您不会以他们的身份登录。
猜测或暴力破解这些值中的任何一个实际上是不可能的,会话 id c12ylm55kp3uirruo4is5sm5或 ASP.NET 身份验证 cookie 值:
3C886BA2344099338361C921C846EAF4E02F2A88E5E7EDE6838705928F7BB7C6FF469D35FE
B1532C44B81DB38F200DEE08B6ED0E6121B945C659E932D8CE8B69FFF09E7B59DBE4820873
DBD7891DD6B6BC4A486F35A2F99849017A6C72D9C6A44517D9AFDC731B3A3C55596E797328
06F7DDDF9F
......将花费不切实际的时间来猜测 - 数万到数十万年。
于 2013-05-16T15:13:42.397 回答
0
我们需要讨论两个cookie。
- 是与会话连接的 cookie
- 是持有身份验证的 cookie。
不一样,这里的问题是如何防止有人窃取身份验证 -一些黑客可以从用户那里窃取 cookie 并在网站上使用该名称登录吗?
对我来说最重要的点是。
- 需要 SSL 来存储身份验证 cookie
- 当用户注销时(基于那篇文章),为 session 设置一个标志以阻止此身份验证 cookie。最好将已注销的身份验证器 cookie 保留在已注销的数据库中。
现在,如果您还想保护会话 cookie,您应该在所有页面上使用 SSL 页面。否则,您在会话 cookie 上保留不重要的信息。在何处以及如何使用 SSL
于 2013-05-16T14:59:10.267 回答