CSRF с использованием AJAX. Почему это возможно? - PullRequest
1 голос
/ 06 мая 2020

Шаги для воспроизведения: от

  1. Go до { ссылка }
  2. Откройте консоль разработчика в своем веб-браузере
  3. Выполните следующий код JS:

    fetch(`https://webhook.site/5a6f8001-3646-4b3e-bd76-a4562af5a9ef`, { credentials: 'include' })
    
  4. Go to https://webhook.site/#! / 5a6f8001-3646-4b3e-bd76-a4562af5a9ef

Вы должны увидеть HTTP-запрос на https://webhook.site

Почему HTTP-запрос достигает сервера? Нарушает ли это политику одинакового происхождения?

1 Ответ

0 голосов
/ 13 мая 2020

Прежде всего, не смешивайте SOP, CORS и CSRF.

  1. Проверки SOP (политики одинакового происхождения) выполняются браузером и помогают защитить ресурс в вашем источнике, который обращается из «другое» происхождение . Если им нужно было разрешить читать ваше содержимое, вам нужно определить правила, которые распространяются на ограничения, называемые CORS .

  2. CSRF (подделка межсайтовых запросов) - это атака, которая помогает создать или отправить злонамеренный недействительный запрос через повар ie жертвы. Каждый запрос после достижения целевого источника с поваром жертвы ie, который будет выполняться с разрешения этого пользователя. Итак, злоумышленник не читает ответ. Кроме того, вы не можете читать ответы из-за правил Same Origin Policy , если только они не разрешают чтение их содержимого с помощью правил CORS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...