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