Broken Access Control é o risco #1 do OWASP Top 10 — com razão. A autenticação pergunta "quem é você?"; o controle de acesso pergunta "você tem permissão para isto?". Quando esse segundo check falta ou está errado, os usuários podem sair de suas permissões, e daí vêm a maioria dos vazamentos sérios.

O que abrange

FormaComo se parece
Horizontal (IDOR/BOLA)Acessar dados de outro mudando um ID — veja IDOR
Vertical (escalonamento)Um usuário normal chega a funções de admin
Checks de função faltandoEndpoints de admin alcançáveis por qualquer um com a URL
Em nível de propriedadeDefinir campos que não deveria (role: admin)
Manipulação de metadataEditar um JWT/cookie para elevar acesso

Como prevenir

  1. Negue por padrão. Sem acesso a menos que concedido explicitamente.
  2. Aplique no servidor. Esconder um botão não é controle de acesso; a API deve rejeitar.
  3. Centralize a lógica numa camada de políticas.
  4. Limite cada query ao usuário (por ID e dono juntos).
  5. Mínimo privilégio e teste como o usuário errado.

O Nurbak escaneia sua app por broken access control e o resto do checklist de segurança de APIs.

Artigos relacionados