Pentest de APIs
Avaliações de segurança para APIs REST, GraphQL, SOAP e microservices, com foco em autenticação, autorização, exposição de dados e falhas de lógica de negócio.
| Requisição | Anônimo | Cliente A | Admin |
|---|---|---|---|
| GET/v1/invoices/48210fatura do cliente A | 401 | 200 | 200 |
| GET/v1/invoices/48213fatura do cliente B | 401 | 200 | 200 |
| PATCH/v1/users/metenta mudar o próprio perfil para admin | 401 | 403 | 200 |
| POST/v1/admin/refundsfunção administrativa | 401 | 403 | 200 |
200 onde se esperava 403: o cliente A lê a fatura do cliente B.
Cobertura da avaliação
APIs expõem funcionalidades críticas da aplicação. Pequenas falhas podem permitir acesso indevido, automação abusiva ou exposição massiva de dados.
- 01Autenticação e autorização
- 02OWASP API Security Top 10
- 03Exposição de dados sensíveis
- 04Análise manual de lógica de negócio
- 05JWT e gerenciamento de sessão
- 06Rate limiting e abuso de API
- 07Headers e configuração de segurança
- 08Relatório executivo e técnico
O que você recebe ao final
Documentação que serve para decidir, corrigir e comprovar a avaliação.
- Relatório executivo
- Visão do risco em linguagem de negócio, para decisão e priorização pela liderança.
- Relatório técnico com evidências
- Cada achado com severidade, evidência, passos de reprodução e referências.
- Recomendações priorizadas
- Correções ordenadas por risco, descritas no contexto da sua stack.
- Reteste das correções
- Validação das correções aplicadas, quando previsto no escopo contratado.
Metodologia de avaliação
A análise combina mapeamento técnico, validação manual e exploração controlada para identificar riscos reais no ambiente.
- 01
Descoberta e mapeamento
Mapeamento dos endpoints e fluxos da API.
- 02
Testes de autenticação
Validação dos mecanismos de autenticação e sessão.
- 03
Testes de autorização
Verificação de controles de acesso horizontal e vertical.
- 04
Exploração manual
Exploração prática para validação de impacto real.
- 05
Relatório
Relatório executivo e técnico com recomendações práticas.
Principais riscos encontrados em APIs
Classes de falha que o teste procura e o que cada uma pode permitir. A severidade não vem da categoria: é definida para cada achado, pelo impacto obtido e pelas condições de exploração.
- Broken Object Level Authorization
- Uma conta acessa objetos de outros usuários ou empresas trocando um identificador na requisição. O impacto depende dos dados alcançados e de como os identificadores podem ser obtidos: de um registro isolado à base inteira de clientes.
- Broken Authentication
- Falhas em login, tokens e sessões, como um JWT aceito sem validação adequada ou um token que não expira. Podem permitir agir em nome de outro usuário; a gravidade depende de quais contas são alcançadas e do que é preciso para explorar.
- Sensitive Data Exposure
- Respostas que trazem mais dados do que a aplicação usa, como campos internos ou dados pessoais. O impacto depende de quais dados aparecem e para quem: de detalhes técnicos a dados pessoais sujeitos à LGPD.
- Rate Limiting Ausente
- Falta de limites contra automação: tentativas de senha, enumeração de usuários ou coleta de dados em massa. Muitas vezes amplia outra falha; o efeito depende do fluxo afetado, como login, cadastro ou consulta de dados.
- Business Logic Flaws
- Fluxos usados fora da ordem ou da regra prevista, como pagamentos, cupons e limites. Costumam passar despercebidas por scanners; o impacto é medido no próprio negócio: valores, aprovações, estoques.
- Security Misconfiguration
- Configurações inseguras de CORS, cabeçalhos, mensagens de erro e endpoints de depuração. Isoladas, costumam ter impacto menor, mas podem revelar informações que facilitam outros ataques.
Tipos de APIs
- REST APIs
- GraphQL APIs
- SOAP APIs
- gRPC
- WebSockets
- Microservices
- APIs internas
- APIs públicas
Escopo de testes
- Autenticação
- Autorização
- JWT
- Rate limiting
- Validação de entrada
- CORS
- Headers de segurança
- Lógica de negócio
Referências
- OWASP API Security Top 10
- OWASP Testing Guide
- PTES
- NIST
- OWASP ASVS
- CWE
- OWASP Top 10
- REST Security Best Practices
Por que sua API precisa de um pentest?
APIs expõem diretamente os dados e a lógica do negócio para aplicações web, apps mobile e integrações com parceiros. As falhas mais graves costumam ser de autorização: a requisição é válida, apenas não deveria ser permitida para aquele usuário, e por isso passa despercebida por scanners automatizados.
O pentest de API verifica, requisição por requisição, se autenticação e autorização se sustentam para cada perfil de usuário e cada objeto, e se a lógica de negócio resiste a usos fora do previsto.
Riscos que a avaliação ajuda a evitar
- Vazamento de dados de clientes
- Registros de outros usuários ou empresas acessíveis por identificadores previsíveis.
- Fraude e abuso de funcionalidades
- Fluxos de pagamento, cupons ou limites executados fora da regra de negócio.
- Comprometimento de integrações
- Chaves e tokens de parceiros com permissões maiores do que o necessário.
- Impacto regulatório
- Exposição de dados pessoais sujeita às obrigações da LGPD.
Como o orçamento de um pentest de API é definido
O esforço depende principalmente do tamanho da API e da quantidade de perfis de acesso:
| Porte | Escopo típico | Prazo estimado |
|---|---|---|
| API pequena | Até 20 endpoints, 1 a 2 perfis | 3-5 dias |
| API média | 20 a 80 endpoints, vários perfis | 5-10 dias |
| API extensa | Mais de 80 endpoints ou multi-tenant | 10-15 dias |
| GraphQL | Conforme schema, queries e mutations | Conforme escopo |
Prazos estimados; o cronograma de cada projeto é definido na proposta, conforme o escopo.
Fatores que influenciam o preço:
- Número de endpoints e operações
- Quantidade de perfis e papéis de acesso
- Tecnologia: REST, GraphQL, gRPC ou SOAP
- Fluxos de negócio críticos (pagamentos, cadastro, integrações)
- Ambiente disponível para os testes (homologação ou produção)
Por que solicitar um orçamento conosco?
- Escopo definido a partir da documentação da API
- Testes com contas reais de cada perfil de acesso
- Proposta detalhada com metodologia e cronograma
- Reteste das correções, quando previsto no escopo contratado
Uma falha de autorização em API pode expor dados de todos os clientes de uma vez, e costuma ser corrigida com poucas linhas de código quando encontrada antes de um atacante.
Perguntas frequentes
Vocês testam APIs internas?
Sim. Realizamos avaliações tanto em APIs públicas quanto internas, incluindo ambientes corporativos, integrações privadas e arquiteturas baseadas em microservices.
É obrigatório fornecer documentação da API?
Não. Swagger/OpenAPI acelera o processo de mapeamento, porém também realizamos discovery manual e enumeração de endpoints.
Vocês avaliam autenticação JWT?
Sim. Validamos assinatura, expiração, manipulação de claims, fluxos de autenticação e possíveis falhas de implementação relacionadas ao JWT.
Os testes podem impactar produção?
Os testes são conduzidos de maneira controlada visando minimizar riscos operacionais. Sempre que possível, recomendamos ambientes de homologação.
Qual a diferença entre pentest de API e um scan automatizado?
Scanners encontram problemas de configuração e algumas injeções, mas não sabem o que cada usuário deveria poder acessar. O pentest testa a autorização com contas reais, compara respostas entre perfis e explora a lógica de negócio.
Vocês testam APIs GraphQL?
Sim. Avaliamos introspecção, autorização por campo e por resolver, consultas aninhadas que consomem recursos em excesso e mutations que alteram dados indevidamente.
O que é BOLA (ou IDOR)?
Broken Object Level Authorization: a API devolve ou altera um objeto apenas pelo identificador, sem confirmar que ele pertence a quem fez a requisição. É a primeira categoria do OWASP API Security Top 10.
Precisamos fornecer contas de teste?
Sim, de preferência ao menos duas contas por perfil de acesso. Assim é possível verificar se um usuário consegue acessar dados ou funções de outro.
Quanto tempo leva um pentest de API?
Depende do número de endpoints, perfis e fluxos críticos. O prazo é estimado na proposta, antes da contratação.
Artigos relacionados
Precisa avaliar a segurança das suas APIs?
Entre em contato para discutir o ambiente, escopo da avaliação e requisitos técnicos do projeto.
Enviar este formulário não inicia testes nem autoriza a realizá-los: eles só começam depois que o escopo é definido e autorizado por escrito.
- [email protected]
- Telefone
- +55 (15) 99745-2589
- Conversar pelo WhatsApp
- Horário
- Segunda a sexta, das 9h às 18h
- Sigilo
- NDA antes de informações sensíveis