Ответ 1
Для этого недостаточно анти-подделки /CSRF-токена? В MVC вы можете использовать Html.AntiForgeryToken(). Я использовал его раньше в своих приложениях MVC, и это смягчает нарушение.
Я надеюсь, что кто-то сможет помочь мне понять эту проблему и нужно ли мне предпринять какие-либо дополнительные шаги для защиты моего приложения.
Учитывая эту уязвимость, она, похоже, влияет на серверы, которые соответствуют следующим критериям:
Также представляется, что шаги по смягчению в порядке эффективности:
В представлении моей страницы я @Html.AntiForgeryToken
вспомогательный метод @Html.AntiForgeryToken
который создает соответствующие входные данные и @Html.AntiForgeryToken
cookie при посещении формы. От взгляда на то, что делает этот вспомогательный метод, создается впечатление, что каждый раз, когда загружается страница, создается новый уникальный маркер, который, как представляется, соответствует пункту 3 в шагах смягчения, а действие использования токена CSRF в первую очередь соответствует точке 5,
Отключение HTTP-сжатия, по-видимому, широко расценивается как "не очень хорошее для производительности" и из некоторых других ресурсов, которые я читал, укорачивание длины может вызвать проблемы для таких функций, как загрузка файлов (что используется на этой странице)
Итак, после всего этого, единственное, что я могу сейчас по-настоящему рассмотреть, - это разделение секретов от пользовательского ввода. Я думал о том, что, возможно, попытаюсь поставить значение токена CSRF на сеанс..... или я полностью переосмыслил это и является текущей версией "@Html.AntiForgeryToken", достаточно подходящей для защиты нас?
Для этого недостаточно анти-подделки /CSRF-токена? В MVC вы можете использовать Html.AntiForgeryToken(). Я использовал его раньше в своих приложениях MVC, и это смягчает нарушение.
Да, если токен CSRF случайный, то он смягчает атаку. Если вы не отправляете какие-либо другие секреты с пользовательскими формами ввода, вы должны быть в порядке.
С другой стороны ,
Также отключить сжатие для страниц, на которых есть пользовательский ввод. Checkout this answer Можно ли выборочно отключить сжатие gzip в ASP.NET/IIS 7?