【发布时间】:2016-05-06 10:10:51
【问题描述】:
我已经阅读了很多关于会话固定攻击的内容,我遇到的最流行的解决方案是在用户登录时更改 SessionID,并使用 GUID 创建一个额外的 cookie 来验证用户“属于”SessionID .
我的问题是:仅删除 SessionID cookie (ASP.NET_SessionID) 以确保生成新的 SessionID 还不够吗? 在 MVC 5 中,当用户登录时,会创建一个额外的加密用户声明 cookie (AspNet.ApplicationCookie),Identity 使用该 cookie 在每次请求时对用户进行身份验证。额外的“GUID cookie”似乎没有必要。
我最初是一名 .NET 桌面应用程序开发人员,正在编写我的第一个 MVC 应用程序,学习曲线有点陡峭……虽然令人耳目一新。
感谢您的帮助。
【问题讨论】:
-
老实说,我刚刚发现了会话固定攻击,但这似乎是您问题的答案。 在验证用户时,它不会分配新的会话 ID,因此可以使用现有的会话 ID。在我看来,这意味着新生成的 cookie 也可能具有相同的会话 ID。不过,我可能错了。
-
@I.Am.Me 阅读这篇文章会帮助你codeproject.com/Articles/1116318/…
-
这里是会话固定问题的解决方案:stackoverflow.com/a/51551957/3649347
标签: asp.net-mvc security session cookies asp.net-mvc-5