MVC 5中的会话修复攻击仍然是一个问题

问题描述 投票:13回答:1

我一直在阅读很多关于会话固定攻击的内容,我遇到的最流行的解决方案是在用户登录时更改SessionID,并使用GUID创建额外的cookie来验证用户“属于”SessionID。

我的问题是:仅仅删除SessionID cookie(ASP.NET_SessionID)以确保生成新的SessionID是不够的?在MVC 5中,当用户登录其他加密的用户声明时,会创建Cookie(AspNet.ApplicationCookie),Identity会在每次请求时使用该Cookie来验证用户身份。额外的“GUID cookie”似乎是不必要的。

我最初是一个.NET桌面应用程序开发人员,编写我的第一个MVC应用程序,学习曲线有点陡峭......虽然令人耳目一新。

谢谢你的帮助。

asp.net-mvc security session cookies asp.net-mvc-5
1个回答
-2
投票

您可以这样做以避免这种情况:

SessionIDManager Manager = new SessionIDManager();

string NewID = Manager.CreateSessionID(Context);
string OldID = Context.Session.SessionID;
bool redirected = false;
bool IsAdded = false;
Manager.SaveSessionID(Context, NewID, out redirected, out IsAdded);
Response.Write("Old SessionId Is : " + OldID);

if (IsAdded)
{
     Response.Write("<br/> New Session ID Is : " + NewID);
}
else
{
     Response.Write("<br/> Session Id did not saved : ");
}

支持链接:Link

© www.soinside.com 2019 - 2024. All rights reserved.