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
É um termo utilizado para definir normalmente uma ponte entre origem e destino de uma comunicação. Na imagem abaixo é possível observar melhor sua utilidade.
Burp Suite
É uma ferramenta que permite você analisar e modificar qualquer request/response trocado entre um cliente e servidor. Através da interceptação de mensagens HTTP, é possível entender como uma aplicação web se comporta.
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
É uma extensão para facilitar o uso de Proxy no navegador. Ele permite configurar mais de um tipo de Proxy, filtrar por urls específicas, agiliza a ativação e desativação do Proxy, etc.
Instalando o Burp Suite Community
Vamos começar instalando o Burp Suite Community. É uma instalação básica sem necessidade de configurações adicionais.
Para download: https://portswigger.net/burp/communitydownload
Ao concluir a instalação, abra o programa, clique em Next e em seguida Start Burp. Será aberto uma tela parecida com essa.
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.
Instalando o FoxyProxy
Agora vamos configurar o navegador, para esta demonstração iremos usar o navegador Firefox. Clique em Menu e em seguida na opção Extensões.
No campo de pesquisa, procure por FoxyProxy Standard. Faça a instalação normalmente da extensão.
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.
Será aberta a tela do FoxyProxy onde será possível administrar os Proxys de acordo com a sua necessidade. Clique em Add.
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.
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.
Importando o certificado no navegador
Na nova aba do navegador, acesse http://burpsuite/. Faça o download do certificado do Burp Suite clicando em CA Certificate.
É 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.
Procure por Certificado e clique em Ver certificados… Será aberto o Gerenciador de Certificados.
Clique em Importar, selecione o certificado baixado anteriormente do Burp Suite. Selecione as duas caixas, clique em OK e em OK novamente.
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.
- Requisições realizadas pelo navegador de forma sequencial;
- Detalhes da requisição como parâmetros, métodos, headers, cookies, etc;
- 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
Essa foi uma demonstração usando o Burp Suite como proxy em conjunto com a ferramenta FoxyProxy redirecionando a comunicação do navegador. São ferramentas gratuitas e simples de serem usadas. Na próxima, veremos as funcionalidades Intercept, Intruder e Repeater do Burp Suite.
Até lá.