Pular para o conteúdo
NexGuard NexGuard

Como saber se sua API está exposta: checklist de BOLA e BFLA

Falhas de autorização são a principal causa de vazamento via API hoje. Um checklist prático para testar BOLA e BFLA antes que um atacante faça isso por você.

Guilherme Ferreira 5 min de leitura

A maioria dos vazamentos de dados via API não acontece por uma falha exótica. Acontece porque a aplicação autentica quem você é, mas não verifica o que você pode acessar. É a diferença entre conferir o crachá na portaria e deixar a pessoa abrir qualquer porta do prédio.

Essas falhas têm nome no OWASP API Security Top 10: BOLA e BFLA. Juntas, respondem pela maior fatia dos incidentes graves em APIs. A boa notícia é que são testáveis — e este checklist mostra como.

BOLA: acessando o objeto do outro

BOLA (Broken Object Level Authorization) é quando a API verifica que você está logado, mas não confere se aquele recurso específico é seu.

O teste é simples: troque o identificador na requisição.

GET /api/v1/invoices/1043     → sua fatura (esperado)
GET /api/v1/invoices/1044     → fatura de outro cliente (FALHA se retornar 200)

Onde procurar:

  • IDs sequenciais ou previsíveis em rotas (/users/{id}, /orders/{id}).
  • Identificadores no corpo de requisições POST/PUT.
  • Parâmetros em filtros e exports (?account_id=).
  • UUIDs ainda são vulneráveis se vazarem em respostas anteriores.

Pergunta de validação: trocando o ID por um que não pertence à minha conta, recebo 403/404? Se receber 200 com dados, você tem um BOLA.

BFLA: executando a ação que não deveria

BFLA (Broken Function Level Authorization) é sobre ações, não objetos. Um usuário comum conseguindo executar uma função administrativa.

O teste: pegue um endpoint de admin e chame com um token de usuário comum.

DELETE /api/v1/users/55              (usuário comum chamando rota de admin)
POST   /api/v1/admin/promote        (token sem privilégio)
PATCH  /api/v1/orders/88/refund     (papel sem permissão de estorno)

Onde procurar:

  • Verbos HTTP não previstos (a UI só mostra GET, mas o PUT funciona?).
  • Endpoints administrativos sem checagem de papel no backend.
  • Funções que confiam no frontend para esconder o botão — mas não bloqueiam a chamada direta.

Checklist rápido de exposição

Antes de assumir que sua API está segura, responda:

  • [ ] Toda rota que recebe um ID valida propriedade do recurso no backend?
  • [ ] A autorização é checada por função/papel, não só por autenticação?
  • [ ] A verificação está no servidor, nunca apenas escondida na UI?
  • [ ] Endpoints administrativos exigem papel explícito?
  • [ ] Verbos HTTP não usados pela UI estão bloqueados ou tratados?
  • [ ] Logs registram tentativas negadas de acesso a objetos alheios?
  • [ ] Há testes automatizados que rodam com tokens de papéis diferentes?

Cada "não" acima é uma porta. Algumas levam a um único registro. Outras, ao banco inteiro.

Por que isso passa despercebido

Scanners automáticos (DAST) detectam mal essas falhas, porque autorização é lógica de negócio — a ferramenta não sabe que a fatura 1044 não é sua. Por isso BOLA e BFLA exigem teste manual ou testes escritos com conhecimento do domínio.

É exatamente o tipo de falha que um pentest focado em API encontra e um scan de prateleira ignora.


Como a NexGuard pode ajudar

Na NexGuard, testes de autorização objeto a objeto fazem parte do nosso pentest de APIs — exploramos BOLA, BFLA e lógica de negócio com a profundidade que scanner nenhum alcança, usando tokens de papéis distintos e cenários reais do seu domínio.

Você recebe um relatório com cada falha reproduzível, a severidade e o caminho de correção — e retest gratuito para confirmar que a brecha foi fechada.

👉 Quer saber se sua API expõe dados sem perceber? Fale com a NexGuard e agende um diagnóstico focado em API Security.

Continue lendo

Artigos relacionados

AppSec

Adeus, senhas? Entenda MFA, passkeys e o futuro do login sem senha

A senha está com os dias contados, e isso é ótima notícia. Entenda o que são MFA e passkeys e por que o futuro sem senha já começou (com calma).

5 min de leitura
AppSec

R$ 400 milhões em prejuízo: o ataque que paralisou uma das maiores farmácias do Brasil

Em 2025, o Grupo Jorge Batista perdeu R$ 400 milhões em um único ataque ransomware. Entenda em 4 minutos por que 15% das empresas atingidas fecham as portas.

4 min de leitura
AppSec

Americanas perdeu R$ 923 milhões em 3 dias. O motivo? Uma falha em aplicação web.

Em fevereiro de 2022, a Americanas perdeu R$ 923 milhões em três dias por uma falha de segurança no e-commerce. Entenda em 3 minutos por que sua empresa pode ser a próxima.

3 min de leitura
Aplicar na prática

Quer aplicar isso na sua empresa?

Marque um diagnóstico gratuito. Em 15 minutos identificamos os pontos críticos do seu ambiente e desenhamos um plano executável.

Mensagem recebida.

Vamos responder em até 8h úteis. Para urgências, use o WhatsApp.

Ao enviar, você concorda com nossa política de privacidade.