Ответ вслух Junior CSRF, SameSite и CORS спрашивают часто обновлено

Объясните CSRF

Вопрос

Что такое CSRF, при каких условиях он возможен и как от него защищаются?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «CSRF это когда страница атакующего отправляет запрос на наш сайт из браузера жертвы, например автосабмит формы перевода. Браузер прикладывает cookie сессии, и сервер считает запрос легитимным.

Что должно прозвучать в ответе

  • Суть: чужой сайт заставляет браузер жертвы отправить запрос с её cookie

  • Условия: автоматические учётные данные и предсказуемый изменяющий запрос

  • SameSite Lax или Strict у cookie сессии

  • CSRF-токен или проверка Origin и Sec-Fetch-Site

  • GET без изменения состояния, CORS не защита

Что могут спросить следом

  • Если у нас токен в заголовке, нужна ли защита?
  • Чем опасен поддомен под контролем атакующего?

Разбор

Образцовый ответ: «CSRF это когда страница атакующего отправляет запрос на наш сайт из браузера жертвы, например автосабмит формы перевода. Браузер прикладывает cookie сессии, и сервер считает запрос легитимным. Атакующий не видит ответ, но действие выполнится. Нужны два условия: аутентификация через cookie или другие автоматические данные и изменяющий запрос, который можно предсказать. Защита: SameSite Lax или Strict на cookie сессии, CSRF-токен в формах и заголовках, проверка Origin и Sec-Fetch-Site для изменяющих методов, и никаких изменений через GET. CORS тут не помогает: он про чтение ответов. Если токен в заголовке Authorization, классический CSRF невозможен, но тогда растёт цена XSS».

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме