Introdução
Burp Suite é um conjunto poderoso de ferramentas para testes de segurança de aplicações web. Uma das suas funcionalidades mais úteis é o Burp Comparer, uma ferramenta para realizar uma "diferença" visual de quaisquer duas peças de dados, como requisições ou respostas HTTP. Isto é incrivelmente útil para identificar diferenças subtis que podem revelar vulnerabilidades, como alterações em tokens de sessão, campos de formulário ocultos ou mensagens de erro.
Neste laboratório, aprenderá o fluxo de trabalho básico de utilização do Burp Comparer. Capturará duas requisições HTTP semelhantes utilizando o Burp Proxy, enviá-las-á para a ferramenta Comparer e, em seguida, analisará as diferenças realçadas.
Encontrar Dois Pedidos Semelhantes no Histórico do seu Proxy
Nesta etapa, irá iniciar o Burp Suite e um navegador web para gerar dois pedidos de login semelhantes. Estes pedidos serão então utilizados para comparação.
Primeiro, inicie as aplicações necessárias. Pode encontrar tanto o Burp Suite como o Navegador Web Chromium no ambiente de trabalho.
- Faça duplo clique no ícone Burp Suite no ambiente de trabalho para o iniciar. Se aparecer uma caixa de diálogo, pode utilizar as definições predefinidas e clicar em
Nexte depois emStart Burp. - Faça duplo clique no ícone Navegador Web Chromium no ambiente de trabalho.
Em seguida, precisa de capturar algum tráfego. Tentaremos fazer login num website fictício duas vezes com credenciais diferentes.
- No Burp Suite, navegue até ao separador
Proxye, dentro dele, ao sub-separadorIntercept. Se o botão disserIntercept is off, clique nele para que mude paraIntercept is on. - No navegador Chromium, navegue para o seguinte endereço:
http://www.google.com. Verá o pedido a ficar "preso" no Burp Suite. - Volte ao Burp Suite. Verá o pedido capturado. Para este laboratório, não precisamos de o modificar. Basta clicar no botão
Forwardpara permitir que o pedido prossiga. Repita isto algumas vezes até que a página inicial do Google carregue no seu navegador. - Agora, vamos gerar os nossos pedidos alvo. No navegador, pesquise por "login page example". Clique em qualquer resultado que forneça um formulário de login simples. Para este exemplo, vamos assumir que encontrou uma página e introduziu
user1para o nome de utilizador epass1para a palavra-passe. Clique no botão de login. - Volte ao Burp Suite e clique em
Forwardpara permitir que o pedido de login passe. - Regresse ao navegador e introduza credenciais diferentes, como
user2epass2, e clique novamente no botão de login. - Volte ao Burp Suite e clique em
Forwardmais uma vez.
Agora que gerou o tráfego, pode encontrar os pedidos no seu histórico de proxy.
No Burp Suite, vá ao separador Proxy e depois ao sub-separador HTTP history. Aqui verá um registo de todos os pedidos que passaram pelo proxy. Percorra a lista para encontrar os dois pedidos POST para a página de login que utilizou. Estes são os dois pedidos que compararemos nas próximas etapas.
Clique com o Botão Direito no Primeiro Pedido e 'Enviar para Comparer'
Nesta etapa, irá enviar o primeiro dos dois pedidos de login para a ferramenta Comparer.
Permaneça no separador Proxy -> HTTP history no Burp Suite, onde pode ver a lista de pedidos capturados.
- Localize o primeiro pedido de login que fez (por exemplo, aquele que contém as credenciais
user1epass1). - Clique com o botão direito do rato nesse pedido específico na lista do histórico. Isto abrirá um menu de contexto com muitas opções.
- Neste menu de contexto, encontre e selecione a opção
Send to Comparer.
Esta ação copia o pedido selecionado e carrega-o na ferramenta Comparer. O separador Comparer na parte superior da janela do Burp Suite deverá agora estar realçado ou mudar de cor, indicando que recebeu novos dados. Pode clicar no separador Comparer para confirmar que um item foi carregado.
Clique com o Botão Direito no Segundo Pedido e 'Enviar para Comparer'
Agora, irá enviar o segundo pedido de login para a ferramenta Comparer. Isto fornecerá o segundo item necessário para a comparação.
- Navegue de volta para o separador
Proxy->HTTP history. - Localize o segundo pedido de login que fez (por exemplo, aquele que contém as credenciais
user2epass2). - Clique com o botão direito do rato neste segundo pedido na lista do histórico.
- No menu de contexto que aparece, selecione novamente
Send to Comparer.
Após realizar esta ação, o separador Comparer conterá agora ambos os pedidos. Se mudar para o separador Comparer, verá dois itens listados, prontos para serem comparados.
No Comparer, Selecione os Dois Itens e Clique em 'Words' para Comparar
Com ambos os pedidos carregados no Comparer, está agora pronto para realizar a comparação real.
- Navegue para o separador
Comparerno Burp Suite. - Na parte superior da interface do Comparer, verá uma lista dos itens que enviou. Deverão aparecer dois itens.
- Selecione ambos os itens. Pode fazer isto clicando primeiro no primeiro item, depois mantendo pressionada a tecla
Ctrle clicando no segundo item. Ambos deverão agora estar realçados. - Na parte inferior da janela, verá opções de comparação. As duas opções principais são
WordseBytes. A comparaçãoWordsé ideal para dados baseados em texto, como pedidos HTTP, porque analisa as diferenças palavra a palavra, tornando a saída muito legível. A comparaçãoBytesrealiza uma diferença a nível de byte, que é mais adequada para dados binários. - Clique no botão
Wordspara iniciar a comparação.
O Burp Suite irá agora processar os dois pedidos e preparar uma comparação visual lado a lado.
Analise as Diferenças Realçadas Entre os Pedidos
Nesta etapa final, irá analisar os resultados da comparação para entender o que mudou entre os dois pedidos.
Após clicar em Words na etapa anterior, o painel principal no separador Comparer será atualizado para mostrar os dois pedidos lado a lado. O Burp Comparer utiliza um sistema de codificação por cores para facilitar a identificação das diferenças:
- Amarelo: Realça dados modificados.
- Rosa: Realça dados adicionados.
- Azul: Realça dados eliminados.
Percorra os dois painéis de pedidos. As barras de rolagem laterais também terão marcadores de cor para o ajudar a saltar rapidamente para os locais das alterações.
Deverá conseguir ver claramente as diferenças no corpo do pedido. Os valores para os parâmetros de nome de utilizador e palavra-passe (user1 vs. user2 e pass1 vs. pass2) serão realçados a amarelo, indicando que foram modificados.
Dependendo da aplicação web, poderá também notar outras diferenças. Por exemplo:
- O cabeçalho
Content-Lengthpoderá ser diferente se os novos valores dos parâmetros tiverem um comprimento diferente. - Um cabeçalho
Cookiepoderá ter mudado se o servidor atribuiu um novo ID de sessão.
Ao analisar estas diferenças realçadas, pode compreender rapidamente como uma aplicação web responde a diferentes entradas. Esta é uma técnica fundamental para descobrir uma vasta gama de vulnerabilidades de segurança.
Resumo
Neste laboratório, aprendeu o fluxo de trabalho fundamental de utilização do Burp Comparer para analisar pedidos HTTP. Gerou com sucesso tráfego de rede, isolou dois pedidos semelhantes do seu histórico de proxy e enviou-os para a ferramenta Comparer. Ao realizar uma comparação baseada em palavras, conseguiu identificar visualmente as diferenças exatas entre os dois pedidos.
Esta habilidade é essencial para muitas tarefas de teste de segurança web, como a análise de mecanismos de autenticação, o teste de manipulação de parâmetros e a identificação de potenciais pontos de injeção, observando como a resposta de uma aplicação muda com diferentes entradas.
