Выбор ответа Middle Авторизация и безопасность API спрашивают часто обновлено

IDOR (BOLA)

Вопрос

Пользователь A получает свой заказ через GET /orders/1001. Подставив /orders/1002, он видит заказ пользователя B. Как называется уязвимость?

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

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

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

Коротко

Правильный ответ: IDOR, в OWASP API Top 10 это Broken Object Level Authorization. Сервер проверил, что пользователь вошёл, но не проверил, что объект принадлежит ему.

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

  1. XSS: в ответ со страницы заказа попадают данные чужого пользователя
  2. CSRF: запрос к чужому заказу отправлен от имени пользователя A
  3. IDOR, в OWASP API Top 10 это Broken Object Level Authorizationправильный ответ
  4. SQL-инъекция: подстановка id в путь меняет условие в запросе к базе

Разбор

Сервер проверил, что пользователь вошёл, но не проверил, что объект принадлежит ему. В OWASP API Security Top 10 2023 это API1, самая частая проблема API. Тест простой и обязательный: двумя пользователями пройтись по чужим id во всех эндпоинтах, включая PUT и DELETE.

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

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

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