Перейти к содержанию

Проверка BOLA по OpenAPI: от схемы до теста прав

OpenAPI помогает найти операции, в которых клиент передаёт идентификатор объекта. Схема не знает, кому принадлежит конкретная запись. Для теста BOLA свяжите операцию с двумя тестовыми объектами, двумя пользователями и явно ожидаемым решением.

Редакция Scantelio ·

Что подготовить

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

Порядок проверки

Составьте список точек, принимающих ID

Начните с path-параметров вроде documentId. Проверьте также идентификаторы в query и JSON-теле: экспорт может принимать список объектов. Сохраните метод, путь и operationId, если он есть.

Назначьте ожидание каждой операции

Для каждого пути отметьте, как работает владелец, посторонний и приглашённый. Вызовите известный объект владельца как контроль, затем тот же объект как посторонний. Для отложенного экспорта проверьте и скачивание результата.

Пример карты операций, а не готовый результат сканирования

GET /documents/{id}           → readDocument → владелец Б: да; А: нет
GET /documents/{id}/download  → downloadFile → владелец Б: да; А: нет
POST /exports {documentIds}   → createExport → проверить состав результата

Критерий результата и ограничения

У каждой строки должны быть наблюдаемый результат и версия схемы. Отметьте пропуск, если нет выделенного объекта или полномочий для безопасного вызова.

Что остаётся непроверенным

OpenAPI security описывает механизм аутентификации и требования операции; наличие Bearer в схеме не доказывает проверку владельца. Не перебирайте идентификаторы.

Материалы и первоисточники

Скачать для своего проекта

Документация