Возможно ли изменить значение AntiForgeryToken в ASP.NET MVC после каждой проверки?

StackOverflow https://stackoverflow.com/questions/2220664

Вопрос

Мы только что провели небольшое тестирование на проникновение в приложении, которое мы создали с использованием ASP.NET MVC, и одна из полученных рекомендаций заключалась в том, что значение AntiForgeryToken в Форме могло быть повторно отправлено несколько раз и не истекало после однократного использования.

В соответствии с Рекомендации OWASP вокруг шаблона токена Синхронизатора:

"Как правило, разработчикам необходимо сгенерировать этот токен только один раз для текущего сеанса".

Именно так, я думаю, работает ASP.NET MVC AntiForgeryToken.

В случае, если нам придется сражаться в битве, возможно ли заставить AntiForgeryToken восстанавливать новое значение после каждой проверки?

Это было полезно?

Решение

Токен защиты от подделки - это просто токен защиты от XSRF.В частности, это не одноразовый номер для одноразового использования.Если вам нужен одноразовый номер для вашего приложения, вы не можете использовать токен защиты от подделки для этой цели.Для этого нет встроенной функциональности.

Другие советы

Может быть, вы можете использовать AntiForgeryToken, используя конструктор из трех параметров.

Всегда рекомендуется использовать соль, но также ограничение токена доменом и путем сделает ваш токен более безопасным и уникальным для каждой страницы.

Если у вас нет уязвимостей XSS, эта проблема не вызовет большого беспорядка на вашем веб-сайте :) // Я ли это написал?Конечно, я плохо разобрался в проблеме.

Ваше здоровье!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top