Выбор ответа Middle Безопасность веб-приложения обновлено
CSRF и API
Вопрос
Какой API уязвим к CSRF?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: API на сессионной cookie, если CSRF-проверка отключена. CSRF работает, потому что браузер автоматически прикладывает cookie к запросу на ваш домен, даже если запрос инициировал чужой сайт.
Варианты ответа
- API с токеном в заголовке
Authorization: Bearerиз localStorage - API на сессионной cookie, если CSRF-проверка отключенаправильный ответ
- API, который принимает GET-запросы без изменения данных
- Любой API, раз он работает по HTTP без строгого HSTS
Разбор
CSRF работает, потому что браузер автоматически прикладывает cookie к запросу на ваш домен, даже если запрос инициировал чужой сайт. Заголовок Authorization браузер сам не добавляет, поэтому токен-авторизация к CSRF не уязвима (зато токен нужно защищать от XSS). Безопасные GET без побочных эффектов неинтересны атакующему. HTTPS от CSRF не защищает.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Безопасный редирект после входа
Следующий вопрос
Параметризованный запрос в SQLAlchemy