Fallos del tipo CWE-566
8 resultadosBypass de autorização através de chave primária SQL controlada pelo usuário
Ocorre quando a aplicação usa dados fornecidos pelo usuário (como ID de registro) diretamente em queries SQL para recuperar dados, sem validar se esse usuário tem permissão para acessar aquele registro específico. Um atacante manipula o ID na requisição e acessa dados de outros usuários.
Uma aplicação web recebe o parâmetro 'user_id=5' na URL e executa 'SELECT * FROM pedidos WHERE id_usuario = 5'. Se um usuário autenticado muda a URL para 'user_id=7', a query retorna os pedidos do usuário 7 sem nenhuma verificação de proprietário, expondo dados sensíveis.
Sempre validar no backend se o ID solicitado pertence ao usuário logado, antes de executar a query. Implementar controle de acesso baseado em sessão/token: recuperar o ID do usuário da sessão autenticada, nunca confiar no parâmetro do cliente, e usar prepared statements para evitar injeção SQL como bônus.