Защита CSRF только для запросов с побочным эффектом (POST, DELETE, PUT)? - PullRequest
1 голос
/ 15 июля 2011

Насколько я понимаю, атаки подделки межсайтовых запросов они "только" использовали для изменения состояния на стороне сервера.

Предположим:

  • У меня есть REST Web ApplicationЯ уверен, что запросы HTTP GET не изменяют постоянное состояние моего приложения (без побочных эффектов)
  • Я использую ключ, специфичный для сессии, для авторизации запросов

Нужно ли проверятьспецифичный для сеанса ключ для запроса GET?

1 Ответ

2 голосов
/ 17 июля 2011

Это не вопрос метода запроса (GET и POST могут одновременно вносить изменения в постоянное состояние), поскольку каждый из них может использоваться различными векторами атаки CSRF.Когда вы говорите о «ключе сеанса», я предполагаю, что вы говорите о шаблоне токена синхронизатора (подробнее об этом в OWASP Top 10 для разработчиков .NET, часть 5: Подделка межсайтовых запросов (CSRF) ).Очевидно, что это предназначено для защиты от того, что браузер делает несанкционированные запросы от вашего имени под управлением третьей стороны.

Таким образом, вопрос на самом деле "Требует ли мое приложение защиты от CSRF?"Похоже, что в вашем приложении нет никаких изменений в постоянных данных, так что, на первый взгляд, ответ «нет».Как правило, токены подделки антизапроса можно найти только в тех местах, где атака CSRF может оказать неблагоприятное воздействие, поэтому мне кажется, что вам не о чем беспокоиться.

...