Interceptar e Encaminhar Tráfego HTTP no Burp Proxy

Beginner
Pratique Agora

Introdução

O Burp Suite é uma plataforma poderosa para realizar testes de segurança em aplicações web. Uma das suas ferramentas mais fundamentais é o Burp Proxy, que permite interceptar, inspecionar e modificar o tráfego entre o seu navegador e um servidor web.

Neste laboratório, você aprenderá o fluxo de trabalho básico de utilização do Burp Proxy. Você ativará o modo de interceção, fará uma requisição a partir de um navegador web, visualizará a requisição HTTP capturada no Burp Suite e, em seguida, a encaminhará para o servidor de destino. Esta habilidade é a base para quase todas as tarefas de teste de aplicações web realizadas com o Burp Suite. O ambiente de laboratório possui o Burp Suite e um navegador pré-configurado pronto para você usar.

Ativar o Modo de Interceção na Aba Proxy > Intercept

Nesta etapa, você iniciará o Burp Suite e ativará o recurso de interceção, que é o primeiro passo para capturar o tráfego web.

Primeiro, inicie a aplicação Burp Suite. Você pode encontrar o ícone na área de trabalho.

  1. Dê um duplo clique no ícone Burp Suite Community Edition na área de trabalho.
  2. Uma caixa de diálogo intitulada "Project" pode aparecer. Selecione Temporary project e clique em Next.
  3. Outra caixa de diálogo "Burp configuration" pode aparecer. Selecione Use Burp defaults e clique em Start Burp.

Assim que o Burp Suite carregar, você precisará navegar até a ferramenta Proxy e ativar a interceção.

  1. Clique na aba Proxy na parte superior da janela.
  2. Dentro da aba Proxy, certifique-se de que você está na sub-aba Intercept.
  3. Você verá um botão que diz Intercept is off. Clique neste botão para ativar a interceção.

O texto do botão mudará para Intercept is on, e ele aparecerá pressionado. Isso indica que o Burp Proxy está agora pronto para capturar quaisquer requisições feitas pelo navegador configurado.

Agora que a interceção está ativada no Burp Suite, você fará uma requisição a partir do navegador web. O Burp Proxy capturará esta requisição antes que ela chegue ao servidor. O navegador neste ambiente de laboratório já está configurado para enviar seu tráfego através do Burp Proxy.

  1. Abra o navegador web Firefox. Você pode encontrar o ícone na área de trabalho ou no painel de aplicações.
  2. Na barra de endereços na parte superior do navegador, digite a seguinte URL e pressione Enter:
http://127.0.0.1:8000

Após pressionar Enter, você notará que a aba do navegador exibe um ícone de carregamento, mas a página não carrega. Este é o comportamento esperado. A requisição foi enviada do navegador, mas agora está "presa" no Burp Proxy, aguardando que você a inspecione e encaminhe.

Visualizar a Requisição Intercetada no Burp Suite

Nesta etapa, você voltará ao Burp Suite para visualizar a requisição HTTP que acabou de fazer a partir do navegador.

Retorne à janela do Burp Suite. A aba Proxy > Intercept, que estava anteriormente vazia, agora contém a requisição HTTP completa que o seu navegador enviou.

Você verá o texto bruto da requisição, que se parece com isto:

GET / HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

Reserve um momento para examinar as diferentes partes da requisição:

  • Linha de Requisição: GET / HTTP/1.1 mostra o método, o caminho e a versão HTTP.
  • Cabeçalhos (Headers): Linhas como Host e User-Agent fornecem informações adicionais ao servidor sobre a requisição e o cliente que a está a fazer.
  • Corpo (Body): Para uma requisição GET como esta, o corpo está vazio.

Esta visualização é crucial para entender e manipular o funcionamento de uma aplicação web.

Clique no Botão 'Forward' para Enviar a Requisição ao Servidor

Após inspecionar a requisição, a próxima ação é permitir que ela continue para o seu destino pretendido, que é o nosso servidor web local.

Na aba Proxy > Intercept no Burp Suite, você verá vários botões no topo do painel da requisição: Forward, Drop, Action, etc.

  1. Clique no botão Forward.

Após clicar em Forward, a requisição desaparecerá da visualização de Interceção. O Burp Suite enviou agora a requisição para o servidor em 127.0.0.1:8000.

Agora, volte para o seu navegador Firefox. A página deverá carregar e você verá o texto "Welcome to the LabEx Test Page!". Isso confirma que a requisição foi encaminhada com sucesso para o servidor, e a resposta do servidor foi enviada de volta e renderizada pelo navegador.

Desativar o Modo de Interceção para Permitir o Fluxo Livre de Tráfego

Finalmente, você aprenderá como desativar o modo de interceção. É crucial desligar a interceção quando você não estiver inspecionando ativamente o tráfego; caso contrário, toda a sua navegação será bloqueada.

  1. Retorne à janela do Burp Suite e certifique-se de que está na aba Proxy > Intercept.
  2. Clique no botão Intercept is on.

O texto do botão mudará de volta para Intercept is off, e ele não aparecerá mais pressionado. Agora, o Burp Proxy permitirá que todo o tráfego passe sem parar para inspeção.

Para confirmar isso, retorne ao navegador Firefox e atualize a página (você pode pressionar F5 ou o botão de recarregar). A página será recarregada instantaneamente, sem qualquer atraso, porque a requisição não está mais sendo retida pelo Burp Suite.

Resumo

Neste laboratório, você aprendeu com sucesso o fluxo de trabalho fundamental de usar o Burp Proxy para interceptar e encaminhar tráfego HTTP.

Você praticou as seguintes habilidades chave:

  • Habilitar e desabilitar o modo de interceção na aba Proxy > Intercept.
  • Capturar uma requisição HTTP ao vivo de um navegador enquanto ela está sendo feita.
  • Visualizar o conteúdo bruto de uma requisição interceptada para entender sua estrutura.
  • Encaminhar a requisição para o servidor para permitir que a comunicação seja concluída.

Esta habilidade básica é a base para técnicas mais avançadas de teste de segurança web, como modificar requisições e respostas para testar vulnerabilidades.