BOLA (Broken Object Level Authorization) — №1 в OWASP API Top 10. И это не случайно.
Как думают:
«Эндпоинт защищён, пользователь авторизован — значит всё ок».
🔢 Как на самом деле:
Проверка доступа к эндпоинту ≠ проверка доступа к объекту. Если сервер не проверяет связь user → object, клиент управляет тем, к каким данным он обращается.
Типичный сценарий:
GET /api/orders/123
Authorization: Bearer token
— токен валидный
— эндпоинт разрешён
— но order_id не проверяется на принадлежность пользователю
Меняем 123 → 124 → 125 — и получаем чужие заказы.
🔢 Почему это архитектурная ошибка:
— авторизация реализована «на входе», а не на уровне доменных объектов
— ownership проверяется выборочно или вообще отсутствует
— API проектируется как transport, а не как boundary доверия
🔢 Чем это заканчивается:
— массовый доступ к чужим данным
— утечки через перебор ID
— поломка multi-tenant логики
— критичные инциденты без сложных эксплойтов
📍 Навигация: [Вакансии]
🐸 Библиотека хакера
#breach_breakdown