Безопасно ли отключать маркер защиты от подделки, если samesite = строгий файл cookie для аутентификации? - PullRequest
0 голосов
/ 08 октября 2019

Согласно docs.microsoft.com Ядро ASP.NET реализует шаблон маркеров синхронизатора для уменьшения CSRF.

Механизм защиты от подделки запросов имеет много недостатков, влияющих на пользователей:

ex 1: страница входа открыта в 2 вкладках

  • Открыть страницу входа в систему на двух разных вкладках
  • Журналы пользователя A со вкладки 1 (без проблем)
  • Не обновляя вкладку 2, пользователь B пытается войти в систему.

=> Создает страницу 400 с AntiforgeryValidationException

ссылка 1 , ссылка 2

ex 2: форма, открытая в 2 вкладках (по той же ссылке в письме)

  • Создание нового веб-сайта Asp.Net Core MVC из шаблона (VS 2019)
  • Создать новую страницу, которая имеет простую форму, которая проверяется с помощью [ValidateAntiForgeryToken] в сообщении.
  • Отправьте себе ссылку на эту страницу по электронной почте (я использовал Gmail & Mailtrap)
  • Откройте ссылку в двух вкладках, нажав на нее обычно
  • Отправить обеorms в любом порядке

=> Открытая форма FIRST выдает ошибку 400

ссылка

Похоже на SameSite = строгийявляется эффективной мерой защиты от CSRF-атак

Согласно этой статье и данного проекта RFC , файл cookie SameSite представляется эффективной и надежной мерой защиты от CSRF-атак. Файл cookie проверки подлинности в ASP.NET Core 2.2 настроен с параметром SameSite = strict. Если мое понимание правильное, куки-файлы аутентификации отправляются на сервер только в ситуации навигации на одном сайте.

Поэтому, если я могу гарантировать, что мои пользователи используют браузер, поддерживающий политику SameSite, безопасно ли отключитьмеханизм защиты от CSRF моего приложения ASP.NET Core?

...