devterview_$ iniciar simulação

Broken Access Control: IDOR e checar autorização no lugar certo

MédioPlenoControle de acesso

Pergunta

O que é uma falha de IDOR (Insecure Direct Object Reference) e onde a checagem de autorização precisa acontecer pra evitá-la?

Resposta esperada

IDOR: um endpoint como `GET /faturas/1043` devolve a fatura só olhando o id da URL, sem checar se a fatura pertence ao usuário autenticado. Trocar `1043` por `1044` vaza dados de outro. A causa é confiar que 'o usuário só vai clicar nos links que a UI mostra' — mas a URL é controlada pelo cliente. A checagem tem que acontecer no servidor, em cada requisição, o mais perto possível do dado: 'esse usuário tem permissão pra ESTE recurso específico?', não só 'esse usuário está logado' nem 'a UI escondeu o botão'. Padrões que ajudam: escopar a query pelo dono (`WHERE id = ? AND owner_id = ?`), um middleware de autorização por recurso, e nunca usar ids sequenciais previsíveis como única barreira (mas id imprevisível não substitui a checagem).

Por que perguntam isso

Pergunta pleno/sênior — é o risco nº 1 do OWASP hoje. Sinal forte: 'escopar a query pelo owner' e 'esconder o botão na UI não é autorização'.

#idor#broken-access-control#autorizacao
publicidade

Relacionadas