OPENEDU Seu Conhecimento Cresce a Cada Questão Resolvida

Charles Burguer

Charles Burguer

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.

CHARLES BURGUER, Curitiba - Fotos, Número de Teléfono y Restaurante ...
CHARLES BURGUER, Curitiba - Fotos, Número de Teléfono y Restaurante ...

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.

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.

Menu em Charles Burguer restaurante, Curitiba, Av. Cândido Hartmann
Menu em Charles Burguer restaurante, Curitiba, Av. Cândido Hartmann

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.

CHARLES BURGUER, Curitiba - Restaurant Reviews, Photos & Phone Number ...
CHARLES BURGUER, Curitiba - Restaurant Reviews, Photos & Phone Number ...

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.