ASP MVC会话安全风险

时间:2013-05-08 22:26:35

标签: asp.net-mvc session session-variables session-cookies sessionid

只是想知道,因为会话ID存储在cookie客户端,我可以轻松地修改该cookie并将会话ID值更改为另一个用户会话ID的值。允许第一个从第二个用户获取数据。 如果会话用于存储“登录会话”,则用户可能就像是另一个用户一样登录,那么会话是否容易“破解”? 我自己尝试了,我可以轻松地与另一个用户会话导航,也许这只能用,因为两个会话来自同一个ip和计算机,但ASP MVC引擎是否提供任何安全检查以避免这种情况?

1 个答案:

答案 0 :(得分:1)

您不应该使用会话来存储"登录会话"。 .ASPXAUTH cookie用于存储经过身份验证的用户的信息,此cookie使用您设置的机器密钥加密或由IIS自动生成。

如果您担心会话劫持(取决于您的应用程序,您应该是),那么您应该使用身份验证cookie(userId)和会话中的信息的组合来确保值确实匹配。

会话和身份验证这两个概念通常会混淆和混淆,但它们不应该混淆。一个用户识别应用程序并确认用户实际已经过身份验证(Forms Auth Ticket / Cookie),另一个只是在Web请求之间存储数据。

以下是围绕Forms Authentication Ticket and Cookie for .NET

的更多信息

此外,请参阅与您的问题有些相关的this Q&A - 它可以提供更多有关工作方式的见解,并帮助您实现所需。