Основные типы уязвимостей API: BOLA (Broken Object Level Authorization) — доступ пользователя к объектам по чужим ID, Broken Authentication, Excessive Data Exposure (возврат лишних данных), отсутствие Rate Limiting. Все эндпоинты API должны требовать аутентификацию — открытый эндпоинт принимается только если он намеренно публичный.
Безопасность JWT: алгоритм HS256 или RS256, секретный ключ должен быть сложным, короткий срок жизни токена (15–60 минут), ротация refresh token. Rate limiting — throttle middleware для каждого эндпоинта. Валидация ввода — тело запроса и query-параметры всегда должны проверяться. CORS — должны приниматься только разрешённые origin. Версионирование API позволяет удалять старые уязвимые эндпоинты.
Наши курсы по этой теме