Segurança

O que é BOLA e por que é a falha nº1 em APIs

SECVOLT4 min de leitura

Este artigo faz parte do guia completo de segurança de APIs.

Definição

BOLA (ou IDOR, no vocabulário clássico) acontece quando a API aceita um identificador enviado pelo cliente e devolve o objeto correspondente sem checar se aquele usuário tem permissão sobre ele.

Exemplo típico: `GET /api/pedidos/1234`. Se a API apenas busca o pedido 1234 pelo banco e devolve, trocar o número passa a revelar pedidos de outras pessoas.

Por que é tão comum

Porque é fácil confiar no front-end. A tela já esconde o botão, então assume-se que o backend está protegido. Só que qualquer cliente pode chamar a API diretamente.

E porque a falha é silenciosa: a resposta volta com status 200 e dados válidos. Nada dispara alerta, nada quebra — o vazamento só aparece quando alguém o explora em escala.

Como corrigir

A correção é sempre no servidor, no ponto em que o objeto é acessado: verificar a posse ou a permissão do usuário autenticado sobre aquele recurso, para cada requisição.

Evite confiar em identificadores previsíveis (números sequenciais). Identificadores opacos ajudam, mas não substituem a checagem de autorização.

  • Checar autorização por objeto em TODAS as rotas que retornam dados.
  • Não confiar em IDs enviados pelo cliente sem validar a posse.
  • Cobrir também operações de escrita, não só leitura.
  • Automatizar testes de autorização com dois usuários distintos.

Como testar

Testar BOLA exige ao menos dois usuários com acessos diferentes: acessar um recurso do usuário A usando o token do usuário B e verificar se a API bloqueia. Sem isso, a falha passa despercebida.

Perguntas frequentes

BOLA e IDOR são a mesma coisa?

São essencialmente o mesmo problema de autorização por objeto; BOLA é o nome usado pelo OWASP para o contexto de APIs.

Continue neste tema

Leia também

Serviço

Segurança de APIs

Testamos autenticação, autorização, exposição de dados, rate limiting e erros nos seus endpoints.