мы можем захватить токен CSRF по запросу ajax - PullRequest
0 голосов
/ 28 октября 2018

Мой вопрос о токенах csrf, цель этих токенов и можем ли мы их подделать ..

Идентификатор проблемы

Давайте предположим, что у нас есть bank.com, который должен сделать этот URLтранзакция на счет bank.com/make -transactions? amount = 100USD & to = [accountId] эта ссылка будет доступна только аутентифицированным пользователям (зависит от SessionID в файлах cookie) со страницы, на которой есть форма транзакции на сайте bank.com

Проблема возникает, когда вредоносный сайт размещает поддельную форму со скрытыми полями, которые отправляют свои данные на указанный выше URL.Причинение SessionID в cookie-файлах (связанных с bank.com), которые будут отправлены этой отправкой, и транзакция будет выполнена

Решение CSRF

Это решение зависит от генерирующего токена (токена CSRF), которыйотправить со страницы bank.com о совершении транзакции (в скрытом поле) и сохранить в текущем сеансе пользователя

А после того, как пользователь отправит данные со страницы транзакции, этот токен (который будет отправлен вместе с данными) будетпроверяется по значению токена CSRF в пользовательском сеансе, и если они равны, то транзакция действительна, и если нет, это означает, что что-то не так, и транзакция должна быть отклонена

И этим она предотвращает злонамеренное действие.com от совершения транзакций путем отправки фальшивых запросов. Потому что у него нет возможности получить этот CSRF-токен и внедрить его вместе с запросом.

Мои вопросы

1 - что если вредоносный сайт делаетajax-запрос от браузера пользователя на bank.com (этот запрос отправит связанные с bank.com файлы cookie.Я прав?) И он извлечет токен CSRF из ответа.и введите этот токен в его поддельном виде.Будет ли это фальсифицировать bank.com с этим захваченным токеном?

2 - можно ли сгенерировать токен CSRF из конечной точки ajax в одностраничном приложении (скажем, перед тем, как выполнить действие. Спросите у сервера токен CSRF и отправьте этознак действия) или нет (если я могу, что я должен знать)?

Спасибо за ваше время с наилучшими пожеланиями

1 Ответ

0 голосов
/ 28 октября 2018

что если вредоносный сайт отправляет ajax-запрос из браузера пользователя на bank.com

… тогда браузер Same Origin Policy остановит вредоносный сайтот чтения содержимого страницы (если вы явно не разрешаете это с помощью CORS… не делайте этого).

могу ли я генерировать токен CSRF из конечной точки ajax в одностраничном приложении (скажем, перед тем, как взятьдействие

Да

...