5.5 KiB
Poluição de Parâmetros
Aprenda hacking na AWS do zero ao herói com htARTE (Especialista em Equipe Vermelha AWS do HackTricks)!
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!
- Adquira 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-me no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
Visão Geral da Poluição de Parâmetros HTTP (HPP)
A Poluição de Parâmetros HTTP (HPP) é uma técnica de ataque que envolve a manipulação de parâmetros HTTP para alterar o comportamento esperado de uma aplicação web. Esse tipo de ataque é relativamente simples, mas pode ser surpreendentemente eficaz. Embora a manipulação de parâmetros ocorra no lado do servidor e não seja visível para o usuário, as alterações de comportamento resultantes podem ser observadas no lado do cliente.
##Exemplo de Poluição de Parâmetros HTTP (HPP)
Considere uma URL de transação padrão para uma aplicação bancária:
URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000
Esta URL inicia uma transação de 10.000 de accountA para accountB. No entanto, introduzir outro parâmetro from
assim:
URL Manipulada: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC
pode resultar na dedução da transação de accountC em vez de accountA. Isso exemplifica como o HPP pode ser usado para manipular parâmetros. Notavelmente, essa vulnerabilidade não se limita a solicitações GET, mas também pode ser explorada em solicitações POST em várias funcionalidades, como alterações de senha, 2FA ou transmissões de chave de API.
É importante reconhecer que a análise de parâmetros depende da tecnologia web específica em uso. Ferramentas como Wappalyzer podem ser usadas para identificar tecnologias web e entender seus comportamentos de análise de parâmetros.
PHP
Um exemplo notável de exploração do HPP envolveu os seguintes passos:
- Manipulação de OTP:
- Uma página de login solicitando um OTP era o alvo.
- Após enviar uma solicitação de OTP, a solicitação HTTP subsequente foi interceptada usando o Burp Suite.
- Outro e-mail foi adicionado à solicitação, duplicando efetivamente o parâmetro
email
. - O OTP destinado ao primeiro e-mail foi erroneamente enviado ao segundo e-mail, permitindo o acesso não autorizado à primeira conta.
Este incidente destaca como o backend da aplicação processou os parâmetros email
, utilizando o primeiro para geração de OTP e o segundo para entrega de OTP.
Análise de Parâmetros no Flask & PHP
Diferentes tecnologias web analisam parâmetros de forma única. Por exemplo, com uma consulta como a=1&a=2
, Flask e PHP interpretarão o parâmetro de forma diferente:
- Flask: Pega a primeira ocorrência (a=1).
- PHP (no Servidor HTTP Apache): Pega a última ocorrência (a=2).
Essa diferença no tratamento de parâmetros pode impactar significativamente o comportamento da aplicação e a vulnerabilidade a ataques de HPP. Mais detalhes sobre isso podem ser encontrados neste artigo.
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
Aprenda hacking na AWS do zero ao herói com htARTE (Especialista em Equipe Vermelha AWS do HackTricks)!
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!
- Adquira 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-me no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.