Жетоны защиты от подделки можно использовать повторно даже после одного запроса

Я работаю над приложением asp.net MVC. Здесь я добавил @Html.AntiForgeryToken() и в контроллере я добавил атрибут [ValidateAntiForgeryToken], Теперь я имею в виду, когда я отправляю запрос на удаление любого документа, создается один токен защиты от подделки. Я скопировал этот токен. и снова я удаляю другой документ и заменяю сгенерированный системой токен ранее использованным токеном. Тем не менее мой запрос успешно удаляет документ.
Я использую все вышеуказанные операции с Burp Suite. Пожалуйста, очистите этот срок действия токена. Когда мы уже использовали один токен для защиты от подделки, этот токен должен был истечь после того, как он был использован? Спасибо Кетан Мате

2 ответа

Anti-ForgeryToken создает некое зашифрованное значение в форме, а также сохраняет это значение в файле cookie. RequestVerificationToken.both передаются на сервер при отправке формы.

Cookie-файл RequestVerficationToken имеет значение срока действия, установленное равным Session. Поэтому срок его действия истечет, когда пользователь выйдет из браузера по истечении времени ожидания сеанса (по умолчанию 20 минут). так что в вашем случае вы можете использовать один и тот же токен в нескольких запросах на одной странице, пока не истечет время сеанса.

Это не то, как работают токены защиты от подделки, так как токены AF используются для предотвращения CSRF-атак, это означает, что они не позволяют ненадежным серверам публиковать форму

Когда вы реализуете @html.AntiforgeryToken(), эта строка создает скрытое поле, а также файл cookie, поэтому это означает, что при публикации формы оба сравниваются, если какой-либо из них отсутствует или не совпадает, что означает, что он не будет публиковаться, и поскольку ваш файл cookie подделан токен совпадает с предыдущим токеном подделки, который он опубликует в вашем случае, и вот как он должен работать, и поэтому не стоит беспокоиться

Другие вопросы по тегам