Выбор ответа Senior Авторизация и безопасность API обновлено
Проверка прав на функции
Вопрос
Обычный пользователь не видит в интерфейсе кнопку «Удалить пользователя». Как проверить, что защита есть и на сервере?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Отправить DELETE /admin/users/{id} токеном обычного пользователя и ждать 403. Скрытая кнопка не защита: запрос можно отправить в обход интерфейса.
Варианты ответа
- Убедиться, что кнопки нет в интерфейсе ни на одной странице и в меню
- Отправить
DELETE /admin/users/{id}токеном обычного пользователя и ждать 403правильный ответ - Проверить, что в JavaScript-бандле нет слова admin, путей админки и названий скрытых методов
- Попросить разработчика подтвердить, что проверка роли есть в коде
Разбор
Скрытая кнопка не защита: запрос можно отправить в обход интерфейса. В OWASP API Top 10 это Broken Function Level Authorization (API5). Проверка: матрица ролей и эндпоинтов, каждый привилегированный метод вызывается токенами всех ролей ниже.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Авторизация и безопасность API»
- Атака alg none
- API-ключ в адресе
- Аутентификация и авторизация
- Заголовок с токеном
- Способы авторизации API
- Mass assignment
- OWASP API Security Top 10
- IDOR (BOLA)