Analisando mensagens HTTP com Burp Suite e FoxyProxy

No nosso dia a dia nem imaginamos a quantidade de requisições que o navegador faz durante a nossa navegação. Vários tratamentos, validações e verificações acontecem fora dos nossos olhos. Nesse artigo vamos olhar atrás das cortinas e analisar a troca de mensagens entre o seu navegador e a internet.

Nosso objetivo será adicionar um proxy no meio da comunicação para logar tudo o que acontece, deixando claro como e o que é enviado para a internet. Para isso usaremos duas ferramentas muito conhecidas no mercado, o programa Burp Suite e a extensão FoxyProxy.

Proxy

Burp Suite

Essa ferramenta é muito usada por Pentesters da área de Segurança, ela oferece muitas funções que facilitam a análise e descoberta de vulnerabilidades e falhas na aplicação. Pode ser usado também pela equipe de Qualidade para efetuar testes e encontrar erros/bugs.

FoxyProxy

Instalando o Burp Suite Community

Ao concluir a instalação, abra o programa, clique em Next e em seguida Start Burp. Será aberto uma tela parecida com essa.

Tela dashboard do Burp Suite

Ainda no Burp Suite clique em Proxy e em seguida Options. Certifique-se de que há um Proxy Listener cadastrado e que ele esteja selecionado. Normalmente já vem configurado por padrão com uma interface sendo o host 127.0.0.1 e a porta 8080. Anote essas duas informações, serão usadas mais tarde. Caso não existir um Proxy Listener, você pode cadastrar clicando em Add.

Tela do Proxy Listener

Instalando o FoxyProxy

Menu Firefox

No campo de pesquisa, procure por FoxyProxy Standard. Faça a instalação normalmente da extensão.

Extensão FoxyProxy

Ao concluir a instalação, será apresentado o ícone do FoxyProxy no canto superior direito do Firefox. Clique nele e em seguida clique em Options.

FoxyProxy instalado

Será aberta a tela do FoxyProxy onde será possível administrar os Proxys de acordo com a sua necessidade. Clique em Add.

Opções do FoxyProxy

Agora faremos a configuração para que a comunicação do navegador seja direcionada. Comece adicionando um nome para esse Proxy e mantenha o tipo como HTTP. Este exemplo foi nomeado como Burpsuite1conforme imagem abaixo. Lembra que guardamos as informações de host e porta anteriormente da tela de Options do Burp Suite? Elas serão usados para preencher os campos Proxy IP address e Port respectivamente. Isso informa para o navegador que toda a comunicação será direcionada primeiramente para a porta local 8080. Clique em Save para salvar esta configuração.

Adicionando um novo Proxy

Abra uma nova aba e ative o Proxy clicando no ícone FoxyProxy, em seguida selecione a opção Burpsuite1 que acabamos de configurar. Note que o ícone agora está com uma tarja verde, isso significa que o nosso proxy está devidamente ligado.

Ativando o proxy

Importando o certificado no navegador

Tela de download de certificado do Burp Suite

É necessário efetuar a importação desse certificado porque o Firefox por padrão bloqueia a conexão caso identificar um intermediário na comunicação. Importando este certificado, indicará para o navegador Firefox que a ferramenta Burp Suite é confiável e que ele pode realizar as comunicações sem risco. Clique na opção Menu do Firefox e em seguida em Configurações.

Menu Firefox

Procure por Certificado e clique em Ver certificados… Será aberto o Gerenciador de Certificados.

Procurando por certificados no FireFox

Clique em Importar, selecione o certificado baixado anteriormente do Burp Suite. Selecione as duas caixas, clique em OK e em OK novamente.

Importando o certificado

Pronto, o nosso proxy está devidamente configurado.

Acesse qualquer site no navegador, a sua navegação agora estará passando pelo Burp Suite. Provavelmente a sua primeira requisição está sendo interceptada, por enquanto vamos desligar essa função no Burp. Clique na aba Proxy e em seguida clique em Intercept. Você verá um botão chamado Intercept is on, basta clicar nele para desativar.

Desta forma todos os requests e responses estarão sendo logados no Burp Suite. Para ver isso acontecendo clique na aba Proxy e em seguida clique em HTTP history. Neste exemplo, foi realizado uma pesquisa por “Segurança da informação” no Google.

  1. Requisições realizadas pelo navegador de forma sequencial;
  2. Detalhes da requisição como parâmetros, métodos, headers, cookies, etc;
  3. A resposta da requisição em texto podendo conter xml, json, html, cookies, headers, js, css, status, etc;

A nossa comunicação agora está configurada desta maneira:

Conclusão

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store