Introdução
Bem-vindo a este laboratório sobre o uso do Burp Repeater. O Burp Repeater é uma ferramenta simples, mas poderosa, dentro do Burp Suite para manipular manualmente e reenviar requisições HTTP individuais, e analisar as respostas da aplicação. É uma ferramenta fundamental para qualquer testador de segurança de aplicações web, permitindo sondar vulnerabilidades observando como um servidor responde a diferentes entradas.
Neste laboratório, você aprenderá o fluxo de trabalho principal do Burp Repeater. Você começará capturando uma requisição padrão de uma aplicação web, enviando-a para o Repeater, modificando seus parâmetros e, em seguida, reenviando-a para o servidor. Finalmente, você analisará a resposta do servidor à sua requisição modificada e aprenderá a navegar pelo histórico de requisições.
Selecionar uma Requisição em uma Aba do Repeater
Nesta etapa, você capturará uma requisição de uma aplicação web de exemplo e a enviará para o Burp Repeater para manipulação. O ambiente de laboratório já iniciou uma aplicação web e o Burp Suite para você. O navegador está configurado para proxy de tráfego através do Burp Suite.
Primeiro, vamos gerar algum tráfego.
- Abra o navegador web a partir da área de trabalho.
- Navegue até a aplicação alvo digitando
http://127.0.0.1:5000na barra de endereços. - Você verá um formulário de login simples. Deixe os valores padrão (
userepass) e clique no botãoSubmit.
Agora, vamos encontrar esta requisição no Burp Suite.
- Mude para a janela do Burp Suite.
- Vá para a aba
Proxye, em seguida, clique na sub-abaHTTP history. Você verá uma lista de requisições que seu navegador fez. - Procure por uma requisição
POSTpara o endpoint/login. Ela deve estar perto do topo da lista. Clique nela para ver seus detalhes nos painéis abaixo. - Clique com o botão direito em qualquer lugar no painel da requisição e selecione
Send to Repeaterno menu de contexto. Você também pode usar o atalhoCtrl+R.
Uma nova aba aparecerá e piscará em laranja na ferramenta Repeater. Clique na aba Repeater para visualizar a requisição que você acabou de enviar.
Modificar um Cabeçalho ou Valor de Parâmetro
Nesta etapa, você modificará a requisição que enviou para a aba Repeater. A interface do Repeater é dividida em duas seções principais: o painel de requisição à esquerda e o painel de resposta à direita. Atualmente, o painel de resposta está vazio porque ainda não enviamos a requisição do Repeater.
Vamos focar no painel de requisição à esquerda. Você pode editar qualquer parte da requisição aqui antes de enviá-la. Isso inclui a linha de requisição, cabeçalhos e o corpo da requisição.
- Olhe para a parte inferior do painel de requisição. Você verá o corpo da requisição
POST, que contém os dados do formulário:username=user&password=pass. - Vamos testar se podemos fazer login como um usuário diferente. Altere o valor do parâmetro
usernamedeuserparaadmin. A linha agora deve parecer com isto:username=admin&password=pass. - Você também pode modificar cabeçalhos. Por exemplo, encontre o cabeçalho
User-Agente altere seu valor para algo personalizado, comoMy-Custom-Browser/1.0.
Sua requisição modificada no painel esquerdo está agora pronta para ser enviada.
Clique no Botão 'Send' para Emitir a Requisição Modificada
Nesta etapa, você enviará a requisição HTTP modificada para o servidor. Após editar a requisição no painel esquerdo, a próxima ação é transmiti-la.
Na parte superior do painel de requisição, você encontrará um botão Send. Este botão é usado para emitir a requisição atual exibida no painel.
- Certifique-se de que sua requisição foi modificada conforme descrito na etapa anterior (por exemplo,
usernameestá definido comoadmin). - Clique no botão
Send.
O Burp Repeater enviará agora esta requisição modificada para o servidor alvo em 127.0.0.1:5000. Após um momento, a resposta do servidor aparecerá no painel de resposta à direita.
Analisar a Resposta do Servidor
Nesta etapa, você analisará a resposta do servidor à sua requisição modificada. Após clicar em Send, o painel de resposta à direita foi preenchido com os dados retornados pelo servidor.
- Examine o painel de resposta. Você verá a resposta HTTP completa, incluindo a linha de status (por exemplo,
HTTP/1.0 200 OK), cabeçalhos de resposta e o corpo da resposta. - Olhe para o corpo da resposta. Como nosso aplicativo de teste reflete o nome de usuário em sua saída, você deverá ver a mensagem:
Login attempt for user: 'admin' failed. Please try again.. Isso confirma que o servidor processou nossa entrada modificada. - Acima do corpo da resposta, existem várias opções de visualização:
Pretty,Raw,HexeRender.Pretty: Mostra uma versão formatada da resposta, o que é útil para HTML e JSON.Raw: Mostra os bytes exatos recebidos do servidor.Render: Tenta renderizar a resposta como um navegador web faria. Clique emRenderpara ver uma representação visual da página de login com a mensagem de falha.
Analisar respostas é uma habilidade crítica. Ao enviar diferentes payloads e observar as respostas, você pode descobrir como um aplicativo se comporta e identificar vulnerabilidades potenciais.
Use as Setas de Histórico para Navegar Entre Requisições Enviadas
Nesta etapa, você aprenderá a usar o recurso de navegação de histórico dentro de uma aba do Repeater. O Repeater mantém um histórico de todas as requisições que você enviou na aba atual, o que é muito útil para comparar as respostas a requisições ligeiramente diferentes.
Ao lado do botão Send, você verá um número (atualmente 1) e setas para trás/frente (< e >). Estas permitem que você navegue pelo histórico de requisições.
- Vamos criar outra entrada de histórico. No painel de requisição, altere o
usernamede volta parauser. - Clique em
Sendnovamente. Você verá a resposta atualizar para refletir a tentativa de login parauser. O número ao lado do botãoSendagora mostra2. - Agora, clique na seta para trás (
<). Os painéis de requisição e resposta serão atualizados para mostrar sua primeira requisição (comusername=admin) e sua resposta correspondente. O número voltará para1. - Clique na seta para frente (
>) para retornar à segunda requisição (comusername=user).
Este recurso permite que você teste rapidamente variações de uma requisição e compare os resultados sem precisar digitar manualmente suas alterações ou gerenciar múltiplas abas do Repeater.
Resumo
Neste laboratório, você aprendeu as operações fundamentais do Burp Repeater, um componente central do Burp Suite.
Você capturou com sucesso uma requisição HTTP de uma aplicação web e a enviou para o Repeater. Em seguida, praticou a modificação dos parâmetros e cabeçalhos da requisição, reemitindo a requisição modificada para o servidor e analisando a resposta resultante. Finalmente, você aprendeu a usar a navegação de histórico para alternar eficientemente entre diferentes requisições que você enviou.
Dominar o Burp Repeater é um passo fundamental para se tornar proficiente em testes manuais de segurança de aplicações web, pois ele fornece o controle necessário para sondar uma ampla gama de vulnerabilidades.
