Как вы проверяете безопасность API
Вопрос
Вам дали новый REST API на ревью безопасности. С чего начнёте и что будете проверять в первую очередь?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Инвентаризация: спецификация OpenAPI, все версии и окружения, что публично
Аутентификация: как выдаются и проверяются токены, срок жизни
Авторизация объектов и функций: подмена id, вызов чужих и админских методов двумя пользователями
Свойства: лишние поля в ответах, mass assignment при записи
Лимиты: размер, частота, пагинация, тяжёлые операции
Ввод и интеграции: инъекции, SSRF, доверие к сторонним API
Что могут спросить следом
- Как автоматизировать проверку BOLA?
- Что делать с найденным забытым v1 API?
Разбор
Образцовый ответ: «Сначала инвентаризация: беру OpenAPI, ищу все версии и окружения, сверяю с тем, что реально торчит наружу. Затем аутентификация: как выдаются токены, проверяется ли подпись и срок. Главное время трачу на авторизацию: завожу двух пользователей и роль администратора и для каждого метода с идентификатором пробую чужие объекты, а для админских функций обычного пользователя. Смотрю ответы на лишние поля и пробую записать поля вроде role или balance. Проверяю лимиты: огромный limit, частые запросы, тяжёлые экспорты. И напоследок ввод: инъекции в фильтрах, URL-параметры, по которым сервер ходит наружу. Для регресса BOLA пишу автотесты с двумя пользователями в CI».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «OWASP Top 10 и API Top 10»
- Первое место OWASP Top 10
- BOLA в API
- Unrestricted Resource Consumption
- Зачем ASVS
- BFLA
- CWE и CVE
- OWASP API Top 10 2023
- Базовые принципы защиты