Я пытаюсь исправить проблему тестирования PEN в моем приложении ASP.NET MVC.Я использую промежуточное ПО OWIN Authentication в приложении, и оно настроено так: -
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);
Приложение работает, как и ожидалось, послеSignOut, т.е. после выхода из системы, когда я пытаюсь перейти на любую страницу, которая требует аутентификации, введя URL-адрес в браузере, он переходит ко мне на страницу входа.
Но когда я перехватываю запрос (любой страницы, на которой есть сеанс) и добавляю этот запрос в Burp Repeater, после выхода из приложения, когда я запрашиваю ту же страницу через повторитель Burp, приложение регистрирует меня, и яможно увидеть, что все Claims
сохраняются, а значение HttpContext.User.Identity.IsAuthenticated
равно True.Не могли бы вы сообщить мне причину этого?Я пробовал много вещей, включая ниже (где я пытаюсь установить ExpireUtc на определенное значение, ожидая его истечения): -
Request.GetOwinContext().Authentication
.SignOut(new AuthenticationProperties
{
ExpiresUtc = DateTime.Now.AddDays(-1)
},
CookieAuthenticationDefaults.AuthenticationType);
Вот пример запроса от Burp Repeater: -