OWIN Cookie身份验证-登出后为User.Identity.IsAuthenticated true-打p中继器

时间:2018-11-28 16:57:54

标签: asp.net asp.net-mvc security authentication owin

我正在尝试在ASP.NET MVC应用程序中解决PEN测试问题。我在应用程序中使用OWIN身份验证中间件,它的配置如下:-

app.UseCookieAuthentication(
     new CookieAuthenticationOptions
          {
              AuthenticationType = CookieAuthenticationDefaults.AuthenticationType,
              CookieHttpOnly = true,
              ExpireTimeSpan = TimeSpan.FromMinutes(120),
              SlidingExpiration = true,
              LoginPath = new PathString("/Account/Login"),
              LogoutPath = new PathString("/Account/LogOff"),
              Provider = new CookieAuthenticationProvider()
          });

在SignOut上,我称之为:-

HttpContext.GetOwinContext().Authentication
           .SignOut(CookieAuthenticationDefaults.AuthenticationType);

应用程序在退出后按预期运行,即注销后,当我尝试通过在浏览器中输入URL导航到任何需要身份验证的页面时,它将导航到“登录”页面。

但是,当我拦截请求(具有会话的任何页面的请求)并将此请求添加到Burp Repeater时,从应用程序注销后,当我通过Burp Repeater请求同一页面时,应用程序正在登录我,我可以看到所有Claims都会保留,并且HttpContext.User.Identity.IsAuthenticated的值为True。你能告诉我原因吗?我尝试了许多操作,包括以下操作(我正在尝试将ExpireUtc设置为期望其过期的某些值):-

Request.GetOwinContext().Authentication
       .SignOut(new AuthenticationProperties 
                    { 
                        ExpiresUtc = DateTime.Now.AddDays(-1) 
                    },
               CookieAuthenticationDefaults.AuthenticationType);

以下是打p中继器的示例请求:-

enter image description here

0 个答案:

没有答案