Используйте cookieless или session-cook ie в ASP. NET MVC 5 UseCookieAuthentication () - PullRequest
0 голосов
/ 30 мая 2020

У меня есть приложение ASP. NET MVC 5, которое использует аутентификацию cook ie. Однако после проведения тестов на проникновение он был уязвим для атаки MITM, где этот Cook ie может быть повторно использован в случае кражи.

// Enable the application to use a cookie to store information for the signed in user
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/Authentication/Login")
});
  1. Мой вопрос: как сделать аннулировать / прекратить действие этого повара ie после выхода из системы? (не сам повар ie, а значение повара ie использует ASP. NET)

  2. Этот повар ie выглядит не ниже контроль web.config s sessionState, где он может быть сохранен в памяти. Можно ли настроить Cook ie выше для сохранения в качестве сеансового Cook ie?

<sessionState mode="InProc" ... />
Есть способ лучше?

1 Ответ

0 голосов
/ 30 мая 2020

Вы можете реализовать свой собственный ITicketStore, чтобы сохранить значение в сеансе. Ваша реализация попадает в хранилище сеансов CookieOptions. Хотя я бы не стал использовать InPro c. Это позволит вам убить его при выходе из системы. Другое дело, что вы должны установить ExpireTimeSpan.

Атака MITM технически все еще работает, но это немного усложняет ее. Чтобы еще больше смягчить его, вы должны делать другие вещи, например использовать https и tls 1.3.

...