Primeiro passo: instalar e entender o que você está fazendo
Charles Burguer é um proxy de interceptação de requisições HTTP/HTTPS voltado para testes de segurança em aplicações web. Você vai precisar dele conectado no meio entre o navegador e o alvo, capturando tudo que passa. A instalação é simples: baixe o instalador no site oficial e rode como administrador no Windows ou com sudo no Linux. No Mac, o processo é idêmito. O problema que a maioria das pessoas encontra logo de cara é a captura de tráfego HTTPS. Ele funciona, mas exige que você instale o certificado CA do próprio Charles Burguer no sistema operacional e, muitas vezes, também no navegador. Sem isso, você só vê requisições HTTP limpas e as HTTPS ficam como pacotes criptografados sem conteúdo visível. Eu perdi umas duas horas tentando depurar isso num projeto antigo porque o certificado foi instalado no Windows mas não no Chrome separado. A solução foi forçar o Chrome a usar o pool de certificados do sistema com a flag --ignore-certificate-errors e reiniciar.
Configurando o Charles Burguer para capturar tráfego mobile
Se você precisa interceptar requisições de um dispositivo móvel, o processo é diferente do desktop. O celular precisa estar na mesma rede Wi-Fi que o computador onde o Charles Burguer está rodando. Aí você configura o gateway padrão do celular para o IP da máquina hospedeira e aponta o proxy para a porta 8888, que é o padrão. O certificado CA também precisa ser instalado no dispositivo móvel. No Android, você baixa o certificado acessando charlesproxy.com/getssl pelo navegador do próprio celular e instala como certificado de confiança. No iOS, é parecido: vai em Configurações, baixa o cert e vai em Ajustes Gerais sobre Certificado(s) de Confiança para habilitar. Se pular esse passo, o Safari ou o Chrome no celular vão rejeitar todas as conexões HTTPS e você vai achar que o proxy está quebrado quando na verdade é só confiança de certificado.
Uma coisa que não é óbvia: se o alvo usar certificate pinning, o Charles Burguer simplesmente não vai conseguir interceptar. Já vi isso acontecer com apps de banco e de fintech. Não tem workaround limpo nesse caso. Você precisa desviar para um dispositivo rootado ou jailbreakado com um módulo que remova o pinning, como o Xposed no Android. Fora isso, é só aceitar que aquela parte do tráfego fica invisível.
Funcionalidades que realmente importam no dia a dia
O Charles Burguer tem várias abas e painéis, mas os três que eu uso o tempo todo são o Proxy, o Composer e o Sequence. O Proxy mostra as requisições e respostas em tempo real. O Composer permite montar requisições manualmente e enviar. O Sequence organiza as requisições por domínio e reconstrói o fluxo da sessão. O recurso de Auto-Zoom no Proxy é útil quando você está rastreando uma requisição específica e quer que a resposta apareça logo abaixo sem ter que rolar a tela. Ative nos Preferences > Zoom e marque Auto-Zoom on Request. Ganha tempo numa análise de meia hora e não percebe até perder.
Para filtrar o ruído, use a barra de filtro com expressões regulares. O Charles Burguer suporta regex nativo, então você pode isolar apenas requisições para um subdomínio específico, como ^.*api\.meualvo\.com\.br.*, ou bloquear tipos de arquivo como imagens e CSS com *.png, *.jpg, *.css. Isso reduz o tráfego capturado em cerca de 70% em projetos reais, dependendo do tamanho do alvo. O mapa de site é outra funcionalidade subutilizada. Ele constrói automaticamente uma árvore hierárquica de todos os endpoints descobertos durante a captura. Basta ir em Proxy > Sitemap e clicar em Refresh. É rápido, leva segundos para apps de médio porte, e ajuda a mapear rotas que você não conhecia. Mas o sitemap não é confiável para aplicações SPA grandes, porque muitos endpoints são carregados dinamicamente via JavaScript e o Charles Burguer não executa o JS. Nesse cenário, o mapa fica incompleto e você precisa complementar com fuzzing ou análise manual do código fonte.
Automatização com Scripts e Sequências
O Charles Burguer permite gravar sequências de requisições e reproduzi-las depois. Vá em Tools > Sequence Editor, grave passando pelo fluxo que deseja, e salve como .seq. Depois você pode rodar a sequência automaticamente, o que é útil para testar fluxos de login, checkout ou renovação de token. O problema é que a gravação armazena valores hard-coded, como tokens de sessão e cookies. Quando você replaya dias depois, o token expirou e a sequência falha. A solução é usar substituições dinâmicas dentro do Sequence Editor. Você pode marcar campos como {SESSION_ID} ou {CSRF_TOKEN} e o Charles Burguer tenta capturar e substituir automaticamente nas execuções subsequentes. Funciona bem para tokens que aparecem em responses anteriores e são usados em requests posteriores. Euconfigurei esse mecanismonum fluxo de autenticação OAuth e reduzi o tempo de repetição de teste de trinta minutos para dois.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Limitações sérias que ninguém menciona
O Charles Burguer não escala bem com tráfego alto. Em testes de carga ou quando o alvo gera milhares de requisições por segundo, a interface começa a engasgar e a memória do processo pode subir para mais de 2 GB em poucas horas. Se você está fazendo um pentest de grande porte, prefira usar o Burp Suite Professional com o Spider ativado ou migrar para o OWASP ZAP, que lida melhor com volume. O Charles Burguer é bom para análise detalhada de tráfego moderado, não para estresse de alta intensidade. Outro ponto fraco é a falta de integração nativa com scanners automatizados. Diferente do Burp, que tem extensão de scanner integrado, o Charles Burguer depende de ferramentas externas. Você exporta o tráfego como HAR ou BURT e joga no ZAP ou no Nikto. Isso adiciona um passo manual que quebra o fluxo e aumenta o tempo de análise.
A licença também é um fator prático. A versão gratuita limita a captura a doze sessões simultâneas. Se você estiver testando múltiplos dispositivos ou navegadores ao mesmo tempo, começa a perder requisições sem aviso. A versão paga custa cerca de duzentos dólares por ano, o que é razoável para profissionais, mas inviável para estudantes ou iniciantes sem orçamento.
Dicas técnicas que economizam tempo
Use o recurso de Breakpoints para pausar requisições específicas no meio do caminho. Vá em Proxy > Breakpoints ou pressione Ctrl+B para ativar. Você define padrões de URL, método HTTP ou até corpo da requisição. Quando uma requisição bate no padrão, o Charles Burguer pausa antes de enviar, permitindo que você edite parâmetros, headers ou o payload. Eu uso isso o tempo todo para modificar valores de ID de usuário e testar falhas de autorização horizontal. O comparador de respostas é outro recurso que merece atenção. Selecione duas requisições e responsete e vá em View > Compare. O Charles Burguer mostra as diferenças lado a lado, destacando campos alterados. Isso é essencial quando você está testando variações de parâmetros e precisa ver rapidamente o que mudou no response, em vez de ler cada campo manualmente.
Exportar capturas para análise posterior é direto. Vá em File > Export Session e salve em HAR, que é compatível com o Chrome DevTools, ou em BURT, formato proprietário do Charles que preserva todos os metadados. O HAR é bom para compartilhar com colegas, mas perde informações de certificado e sessões criptografadas. O BURT mantém tudo, mas só abre no Charles Burguer. Se você está trabalhando com APIs REST, ative a decodificação automática de JSON nos Preferences > Connections. O Charles Burguer formata as respostas JSON com indentation e cores, o que facilita muito a leitura. Desligue essa opção se estiver lidando com payloads binários ou compactados, porque ele pode corromper a visualização.
Alternativas quando o Charles Burguer não resolve
Se o seu foco é exploração ativa de vulnerabilidades e não apenas interceptação, o Burp Suite Professional entrega mais funcionalidades prontas, incluindo scanner, intruder e repeater. Para quem não quer pagar, o OWASP ZAP é gratuito e open source, com scanner automatizado e extensibilidade via scripts Python e Java. O ZAP também tem modo headless, útil para integração em pipelines CI/CD, algo que o Charles Burguer não oferece. Para captura puramente passiva, sem interferência nas requisições, o mitmproxy é leve e scriptável. Funciona bem em servidores Linux e integra com Python de forma direta. A interface de linha pode intimidar, mas a curva de aprendizado é curta e o consumo de recursos é fração do que o Charles Burguer gasta.
O Fiddler Classic, da Telerik, é outra alternativa sólida para Windows. A interface é mais intuitiva para quem vem de ambientes Microsoft e o histórico de sessões é mais organizado. A desvantagem é que não roda nativamente em Linux ou macOS, e o suporte a HTTP/3 é limitado. Resumindo, o Charles Burguer é uma ferramenta sólida para interceptação e análise manual de tráfego web. Ele brilha em cenários de teste exploratório e debugging de requisições, mas tem limitações claras em escala, automação e cobertura de SSL/TLS moderno. Use-o como parte de um conjunto maior de ferramentas, não como solução única.
Charles Burguer download e primeiros passos
O download oficial está em charlesproxy.com. Escolha a versão correspondente ao seu sistema operacional, instale e configure o proxy no navegador antes de começar. Lembre-se de instalar o certificado CA se quiser capturar HTTPS. Teste com um site simples como httpbin.org para confirmar que a interceptação está funcionando. A partir daí, você já consegue navegar pelo tráfego e aplicar as técnicas descritas acima.