Ответ вслух Middle OWASP Top 10 и API Top 10 обновлено

Как вы проверяете безопасность API

Вопрос

Вам дали новый REST API на ревью безопасности. С чего начнёте и что будете проверять в первую очередь?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Сначала инвентаризация: беру OpenAPI, ищу все версии и окружения, сверяю с тем, что реально торчит наружу. Затем аутентификация: как выдаются токены, проверяется ли подпись и срок.

Что должно прозвучать в ответе

  • Инвентаризация: спецификация OpenAPI, все версии и окружения, что публично

  • Аутентификация: как выдаются и проверяются токены, срок жизни

  • Авторизация объектов и функций: подмена id, вызов чужих и админских методов двумя пользователями

  • Свойства: лишние поля в ответах, mass assignment при записи

  • Лимиты: размер, частота, пагинация, тяжёлые операции

  • Ввод и интеграции: инъекции, SSRF, доверие к сторонним API

Что могут спросить следом

  • Как автоматизировать проверку BOLA?
  • Что делать с найденным забытым v1 API?

Разбор

Образцовый ответ: «Сначала инвентаризация: беру OpenAPI, ищу все версии и окружения, сверяю с тем, что реально торчит наружу. Затем аутентификация: как выдаются токены, проверяется ли подпись и срок. Главное время трачу на авторизацию: завожу двух пользователей и роль администратора и для каждого метода с идентификатором пробую чужие объекты, а для админских функций обычного пользователя. Смотрю ответы на лишние поля и пробую записать поля вроде role или balance. Проверяю лимиты: огромный limit, частые запросы, тяжёлые экспорты. И напоследок ввод: инъекции в фильтрах, URL-параметры, по которым сервер ходит наружу. Для регресса BOLA пишу автотесты с двумя пользователями в CI».

Ответьте сами, а не прочитайте

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