Проверка BOLA по OpenAPI: от схемы до теста прав
OpenAPI помогает найти операции, в которых клиент передаёт идентификатор объекта. Схема не знает, кому принадлежит конкретная запись. Для теста BOLA свяжите операцию с двумя тестовыми объектами, двумя пользователями и явно ожидаемым решением.
Что подготовить
Возьмите спецификацию именно проверяемого релиза. Попросите разработчика показать один приватный ресурс и его альтернативные представления: скачивание, вложение или формирование отчёта.
Порядок проверки
Составьте список точек, принимающих ID
Начните с path-параметров вроде documentId. Проверьте также идентификаторы в query и JSON-теле: экспорт может принимать список объектов. Сохраните метод, путь и operationId, если он есть.
Назначьте ожидание каждой операции
Для каждого пути отметьте, как работает владелец, посторонний и приглашённый. Вызовите известный объект владельца как контроль, затем тот же объект как посторонний. Для отложенного экспорта проверьте и скачивание результата.
Пример карты операций, а не готовый результат сканирования
GET /documents/{id} → readDocument → владелец Б: да; А: нет
GET /documents/{id}/download → downloadFile → владелец Б: да; А: нет
POST /exports {documentIds} → createExport → проверить состав результатаКритерий результата и ограничения
У каждой строки должны быть наблюдаемый результат и версия схемы. Отметьте пропуск, если нет выделенного объекта или полномочий для безопасного вызова.
Что остаётся непроверенным
OpenAPI security описывает механизм аутентификации и требования операции; наличие Bearer в схеме не доказывает проверку владельца. Не перебирайте идентификаторы.
