AntiForgeryToken в ASP.NET MVC предотвращают против всех нападений на CSRF?

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

, Но они могут быть плохими для производственного кода. Часть причины - то, что это - вид непредсказуемых, что индексирует Вас, будет нуждаться с целью, начиная с, где пункт может отличаться, и поэтому трудно настроиться. Кроме того, Вы обычно возвращаете намного больше данных, чем на самом деле необходимо для отдельных запросов, которые используют представление. Каждый из этих запросов мог быть ограничен и настроен индивидуально.

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

18
задан Peter Mortensen 25 January 2010 в 20:34
поделиться

2 ответа

Да, это все, что вам нужно сделать.

Пока вы генерируете новый токен на каждой защищенной странице с помощью <% = Html.AntiForgeryToken ()%> и всегда проверяйте его при любом защищенном действии, используя [ValidateAntiForgeryToken]

. Это реализует шаблон токена синхронизатора, как описано в шпаргалке по предотвращению CSRF на OWASP.

сценарий, чтобы успешно выполнить приемлемый запрос, он должен сначала получить форму и прочитать токен, а затем опубликовать токен. Такая же политика происхождения не позволяет использовать это в браузере. Сайт не может отправить HTTP-запрос в стиле AJAX на другой сайт; только себе. Если по какой-то причине может быть нарушена та же политика происхождения, вы станете уязвимыми.

Обратите внимание, что если у вас есть уязвимость межсайтового скриптинга, то злоумышленник может использовать уязвимость xss, чтобы обойти защиту, обеспечиваемую той же политикой происхождения. (поскольку скрипт теперь запускается с вашего собственного сайта, так что СОП успешно). Внедренный скрипт может успешно прочитать и повторно отправить токен. Этот метод обхода защиты CSRF через XSS в последнее время стал обычным явлением для некоторых червей. По сути, если у вас есть XSS, ваша защита от CSRF - пустая трата времени, поэтому убедитесь, что вы не уязвимы ни для одного из них.

Еще одна вещь, на которую следует обратить внимание, - это Flash и Silverlight. Обе эти технологии не подписываются на одну и ту же политику происхождения и вместо этого используют файлы политики междоменного доступа для ограничения доступа к удаленным ресурсам. Сценарий Flash / Silverlight может получить доступ к ресурсам на вашем сайте, только если вы опубликуете XML-файл междоменной политики на своем собственном сайте. Если вы публикуете этот файл, разрешайте только белый список доверенных сторонних серверов и никогда не разрешайте *.

Подробнее о CSRF на OWASP Внедренный скрипт может успешно прочитать и повторно отправить токен. Этот метод обхода защиты CSRF через XSS в последнее время стал обычным явлением для некоторых червей. По сути, если у вас есть XSS, ваша защита от CSRF - пустая трата времени, поэтому убедитесь, что вы не уязвимы ни для того, ни другого.

Еще одна вещь, на которую следует обратить внимание, - это Flash и Silverlight. Обе эти технологии не подписываются на одну и ту же политику происхождения и вместо этого используют файлы политики междоменного доступа для ограничения доступа к удаленным ресурсам. Сценарий Flash / Silverlight может получить доступ к ресурсам на вашем сайте, только если вы опубликуете XML-файл междоменной политики на своем собственном сайте. Если вы публикуете этот файл, разрешайте только белый список доверенных сторонних серверов и никогда не разрешайте *.

Подробнее о CSRF на OWASP Внедренный скрипт может успешно прочитать и повторно отправить токен. Этот метод обхода защиты CSRF через XSS в последнее время стал обычным явлением для некоторых червей. По сути, если у вас есть XSS, ваша защита от CSRF - пустая трата времени, поэтому убедитесь, что вы не уязвимы ни для того, ни другого.

Еще одна вещь, на которую следует обратить внимание, - это Flash и Silverlight. Обе эти технологии не подписываются на одну и ту же политику происхождения и вместо этого используют файлы политики междоменного доступа для ограничения доступа к удаленным ресурсам. Сценарий Flash / Silverlight может получить доступ к ресурсам на вашем сайте, только если вы опубликуете XML-файл междоменной политики на своем собственном сайте. Если вы публикуете этот файл, разрешайте только белый список доверенных сторонних серверов и никогда не разрешайте *.

Подробнее о CSRF на OWASP Этот метод обхода защиты CSRF через XSS в последнее время стал обычным явлением для некоторых червей. По сути, если у вас есть XSS, ваша защита от CSRF - пустая трата времени, поэтому убедитесь, что вы не уязвимы ни для одного из них.

Еще одна вещь, на которую следует обратить внимание, - это Flash и Silverlight. Обе эти технологии не подписываются на одну и ту же политику происхождения и вместо этого используют файлы политики междоменного доступа для ограничения доступа к удаленным ресурсам. Сценарий Flash / Silverlight может получить доступ к ресурсам на вашем сайте, только если вы опубликуете XML-файл междоменной политики на своем собственном сайте. Если вы публикуете этот файл, разрешайте только белый список доверенных сторонних серверов и никогда не разрешайте *.

Подробнее о CSRF на OWASP Этот метод обхода защиты CSRF через XSS в последнее время стал обычным явлением для некоторых червей. По сути, если у вас есть XSS, ваша защита от CSRF - пустая трата времени, поэтому убедитесь, что вы не уязвимы ни для того, ни другого.

Еще одна вещь, на которую следует обратить внимание, - это Flash и Silverlight. Обе эти технологии не подписываются на одну и ту же политику происхождения и вместо этого используют файлы политики междоменного доступа для ограничения доступа к удаленным ресурсам. Сценарий Flash / Silverlight может получить доступ к ресурсам на вашем сайте, только если вы опубликуете XML-файл междоменной политики на своем собственном сайте. Если вы публикуете этот файл, разрешайте только белый список доверенных сторонних серверов и никогда не разрешайте *.

Подробнее о CSRF на OWASP

Еще одна вещь, на которую следует обратить внимание, - это Flash и Silverlight. Обе эти технологии не подписываются на одну и ту же политику происхождения и вместо этого используют файлы политики междоменного доступа для ограничения доступа к удаленным ресурсам. Сценарий Flash / Silverlight может получить доступ к ресурсам на вашем сайте, только если вы опубликуете XML-файл междоменной политики на своем собственном сайте. Если вы все-таки публикуете этот файл, разрешайте только белый список доверенных сторонних серверов и никогда не разрешайте *.

Подробнее о CSRF на OWASP

Еще одна вещь, на которую следует обратить внимание, - это Flash и Silverlight. Обе эти технологии не подписываются на одну и ту же политику происхождения и вместо этого используют файлы политики междоменного доступа для ограничения доступа к удаленным ресурсам. Сценарий Flash / Silverlight может получить доступ к ресурсам на вашем сайте, только если вы опубликуете XML-файл междоменной политики на своем собственном сайте. Если вы все-таки публикуете этот файл, разрешайте только белый список доверенных сторонних серверов и никогда не разрешайте *.

Подробнее о CSRF на OWASP См. Также: Памятка по предотвращению XSS-атак

12
ответ дан 30 November 2019 в 09:18
поделиться

Но что, если вредоносный скрипт сначала выполнит простой запрос GET (с помощью AJAX), чтобы загрузить страницу, содержащую токен защиты от подделки в скрытом поле ввода, извлечет его и использует для создания действительного POST?

Да, это правда, но если это не завершение атаки в браузере, это НЕ CSRF-атака.

Если она завершится в браузере (например, очистка через HTTP-запрос в коде на стороне сервера), то, что произойдет, код очистки получит токен CSRF. Однако ваши законные, прошедшие аутентификацию пользователи получат на свою машину другой токен. Поскольку токен, который поднимает сборщик, отличается от токена, выданного вашим пользователям, POST завершится ошибкой.

3
ответ дан 30 November 2019 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: