6.7 KiB
Poluição de Parâmetros
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Verifique os PLANOS DE ASSINATURA!
- Obtenha o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
{% embed url="https://websec.nl/" %}
Visão Geral da Poluição de Parâmetros HTTP (HPP)
A Poluição de Parâmetros HTTP (HPP) é uma técnica em que os atacantes manipulam os parâmetros HTTP para alterar o comportamento de uma aplicação web de maneiras não intencionais. Essa manipulação é feita adicionando, modificando ou duplicando os parâmetros HTTP. O efeito dessas manipulações não é diretamente visível para o usuário, mas pode alterar significativamente a funcionalidade da aplicação no lado do servidor, com impactos observáveis no lado do cliente.
Exemplo de Poluição de Parâmetros HTTP (HPP)
Uma URL de transação de aplicativo bancário:
- URL Original:
https://www.victim.com/send/?from=accountA&to=accountB&amount=10000
Inserindo um parâmetro from
adicional:
- URL Manipulada:
https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC
A transação pode ser cobrada incorretamente para accountC
em vez de accountA
, mostrando o potencial do HPP para manipular transações ou outras funcionalidades, como redefinições de senha, configurações de 2FA ou solicitações de chave de API.
Análise de Parâmetros Específicos de Tecnologia
- A forma como os parâmetros são analisados e priorizados depende da tecnologia web subjacente, afetando como o HPP pode ser explorado.
- Ferramentas como Wappalyzer ajudam a identificar essas tecnologias e seus comportamentos de análise.
Exploração de PHP e HPP
Caso de Manipulação de OTP:
- Contexto: Um mecanismo de login que requer um One-Time Password (OTP) foi explorado.
- Método: Ao interceptar a solicitação de OTP usando ferramentas como Burp Suite, os atacantes duplicaram o parâmetro
email
na solicitação HTTP. - Resultado: O OTP, destinado ao email inicial, foi enviado para o segundo endereço de email especificado na solicitação manipulada. Essa falha permitiu acesso não autorizado ao contornar a medida de segurança pretendida.
Este cenário destaca uma falha crítica no backend da aplicação, que processou o primeiro parâmetro email
para geração de OTP, mas usou o último para entrega.
Caso de Manipulação de Chave de API:
- Cenário: Uma aplicação permite que os usuários atualizem sua chave de API por meio de uma página de configurações de perfil.
- Vetor de Ataque: Um atacante descobre que, ao adicionar um parâmetro
api_key
adicional à solicitação POST, pode manipular o resultado da função de atualização da chave de API. - Técnica: Utilizando uma ferramenta como Burp Suite, o atacante cria uma solicitação que inclui dois parâmetros
api_key
: um legítimo e um malicioso. O servidor, processando apenas a última ocorrência, atualiza a chave de API para o valor fornecido pelo atacante. - Resultado: O atacante obtém controle sobre a funcionalidade da API da vítima, potencialmente acessando ou modificando dados privados de forma não autorizada.
Este exemplo destaca ainda mais a necessidade de manipulação segura de parâmetros, especialmente em recursos tão críticos quanto o gerenciamento de chaves de API.
Análise de Parâmetros: Flask vs. PHP
A forma como as tecnologias web lidam com parâmetros HTTP duplicados varia, afetando sua suscetibilidade a ataques de HPP:
- Flask: Adota o valor do primeiro parâmetro encontrado, como
a=1
em uma string de consultaa=1&a=2
, priorizando a instância inicial sobre duplicatas subsequentes. - PHP (no Servidor HTTP Apache): Contrariamente, prioriza o valor do último parâmetro, optando por
a=2
no exemplo dado. Esse comportamento pode facilitar inadvertidamente exploits de HPP ao honrar o parâmetro manipulado do atacante sobre o original.
Referências
- https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654
- https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution
{% embed url="https://websec.nl/" %}
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Verifique os PLANOS DE ASSINATURA!
- Obtenha o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.