防止ApplicationCookie在OWIN中进行cookie重播攻击

问题描述

我正在尝试防止对使用OWIN身份验证的asp.Net MVC应用程序进行cookie重放攻击。我观察到的行为是-即使注销,我也可以使用fiddler和以前有效的Cookie ApplicationCookie发送请求。这是logout()

代码
[HttpGet]
public ActionResult logout()
{
    HttpContext.GetowinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
    return this.RedirectToAction("Login","Account");
}       

注销后,cookie .AspNet.ApplicationCookie(如下所示)将被删除,如浏览器中所示。

ASP.NET_SessionId=wsggy1z2l0pckp3s0cjsxit5
.AspNet.ApplicationCookie=A8FiqaHloXglEyuXzwobhunoXWkKLmMTMs_tLNvqc6XLjtav4HO_3UY7O6CjuIieJB-ITFbXlIhpH-OETMTjScI_-q07-SXAlk-f0kUjpf-r6q64bedP1kbcclt1CmVPlqT_qxmJjlWvvDoRk3CB1IHgdNe6rkjOkZfaKiYw1BYpqdLY-BM3u46aWkpMbUUArOhOOv8d6PhxiJqLr2fZ2VJffWzRHlRQR8rxkA0Z3rz10l9J0K9m3ubg8w```

即使我注销并执行了上述注销方法之后,我也可以使用fiddler更改用户的首选项,只需重播登录时发送的相同请求即可。

[HttpPost]
public ActionResult Preferences(UserPreferencesviewmodel preferences)
{
    User user = this.UserProcessor.Find(preferences.UserId);
    user.CultureId = preferences.CultureId;
    this.UserProcessor.UpdatePreferences(user);
    CultureUtility.SetCurrentCulture(user.CultureId);
    return this.RedirectToAction("Index","Home");

}

如何处理这种攻击?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)