Продвинутый
Что такое уязвимость Mass Assignment (Массовое назначение) в API?
Mass Assignment возникает, когда фреймворк бэкенда автоматически мапит (привязывает) все поля из входящего JSON-запроса прямо в объект базы данных, без фильтрации.
Сценарий атаки:
Есть эндпоинт PUT /users/123 для обновления профиля. Ожидается JSON {"name": "Ivan"}.
Хакер догадывается о структуре БД и шлет: {"name": "Ivan", "is_admin": true, "balance": 1000000}.
Если бэкенд не фильтрует поля (не использует DTO), ORM послушно обновит в базе поля is_admin и balance, сделав хакера богатым администратором.
✅ Защита: Использовать строгие DTO (Data Transfer Objects), где описаны только те поля, которые разрешено менять.