Выбор ответа Senior CSRF, SameSite и CORS обновлено

SameSite и поддомены

Вопрос

Атакующий захватил promo.example.com (забытая DNS-запись на чужой хостинг). Почему SameSite=Strict у cookie app.example.com не защитит от CSRF с этого поддомена?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: SameSite сравнивает сайты, а promo. и app.example.com это один сайт. Для SameSite «сайт» это схема плюс регистрируемый домен, поэтому запрос с поддомена считается same-site, и cookie будет приложена даже при Strict.

Варианты ответа

  1. SameSite действует только на портах 80 и 443, а поддомен работает на другом порту
  2. Strict тут как раз защитит, а уязвима была бы только cookie с режимом Lax
  3. Поддомены получают все cookie родительского домена независимо от их атрибутов
  4. SameSite сравнивает сайты, а promo. и app.example.com это один сайтправильный ответ

Разбор

Для SameSite «сайт» это схема плюс регистрируемый домен, поэтому запрос с поддомена считается same-site, и cookie будет приложена даже при Strict. Нужны CSRF-токены или проверка точного Origin, а также защита от захвата поддоменов. Порты к SameSite не относятся, а поддомены получают cookie родителя только если она установлена на родительский домен.

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

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

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