Red Team · Pleno
IDOR e controle de acesso
Insecure Direct Object Reference: fatura 1001 da Ana, fatura 1002 do colega, os dois com HTTP 200. A correção mora no servidor (403), não no botão escondido do React.
IDOR (Insecure Direct Object Reference) acontece quando o identificador (id, UUID, nome de arquivo) é o único 'controle'.
No lab, a usuária ana faz GET /api/faturas/1001 (dela) e GET /api/faturas/1002 (do colega). Os dois devolvem 200. Não há SQL injection. Há falha de autorização. O briefing deu o ID da outra titularidade de propósito. Você documenta status e campo vazado. Não enumera a base inteira.
As perguntas pedem a sigla e o status HTTP de sucesso do GET do colega.
Responda as questões abaixo
Qual sigla descreve referência insegura a objeto direto?
No exercício, o GET da fatura do colega devolveu qual status HTTP de sucesso?
Esconder o botão no React não é autorização. O servidor compara o sujeito (sub do token) com o dono do recurso ou com a policy (RBAC/ABAC).
Resposta boa no relatório: negar com 403 quando o sujeito não tem grant. 404 para não vazar existência é política consciente, não acaso.
A pergunta pede o status HTTP recomendado quando falta grant.
Responda as questões abaixo
Qual status HTTP o material recomenda quando o sujeito autenticado não tem grant no recurso?