Можем ли мы захватить токен CSRF с помощью запроса ajax

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

Личность проблемы

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

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

Решение CSRF

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

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

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

Мои вопросы

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
332
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

what if the malicious.com makes ajax request from the user browser to bank.com

… Тогда Та же политика происхождения браузера не позволит вредоносному сайту прочитать содержимое страницы (если вы явно не разрешите ему использовать CORS… не делайте этого).

can I generate CSRF token from ajax endpoint in single page application (let say befor take the action

да

Спасибо большое, дорогой. Скажите, пожалуйста, есть ли какие-то моменты, о которых следует помнить при реализации конечной точки CSRF. передовой опыт или точки безопасности, на которые следует обратить внимание. или просто как GET / csrf и вернуть json с токеном

Medo 28.10.2018 12:43

пожалуйста какие-нибудь предложения?

Medo 28.10.2018 15:03

Другие вопросы по теме