Действительно ли направляющие являются небезопасной защитой CSRF по умолчанию?

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

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

Но, кажется мне, что, если у нас была уязвимость XSS как этот, взломщик мог бы так же легко захватить сеансовые куки другого пользователя и войти в систему как тот пользователь непосредственно. Или даже просто выполните вызовы к нашему API REST из сценария как пользователь, подвергающийся нападению. Способность предпринять атаку CSRF не кажется немного хуже в такой ситуации... проблемой была бы уязвимость XSS.

Я пропустил что-то? Существует ли настоящая проблема с защитой CSRF по умолчанию в направляющих?

11
задан John Topley 1 February 2011 в 21:36
поделиться

1 ответ

Вы совершенно правы. Защита CSRF на основе токенов является наиболее распространенной, и пока вы тестируете свое приложение на XSS, все будет в порядке.

Бывают случаи, когда CSRF можно остановить независимо от XSS. Например, для форума смены пароля потребуйте, чтобы они знали текущий пароль. Хакер не сможет подделать этот запрос, если он не знает текущий пароль, вопрос спорный.

Другой метод состоит в том, чтобы потребовать решения Captcha для этого запроса. Рекомендую использовать reCapthca.

11
ответ дан 3 December 2019 в 09:40
поделиться
Другие вопросы по тегам:

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