5.4 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
Trabalha em uma empresa de segurança cibernética? Quer ver sua empresa anunciada no HackTricks? ou quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
-
Descubra A Família PEASS, nossa coleção exclusiva de NFTs
-
Adquira o swag oficial do PEASS & HackTricks
-
Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
-
Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e hacktricks-cloud repo.
Copiado de https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654
Resumo:
A Poluição de Parâmetros HTTP (HPP) significa poluir os parâmetros HTTP de um aplicativo da web para alcançar uma tarefa maliciosa específica. Refere-se a manipular como um site trata os parâmetros que recebe durante as solicitações HTTP. Isso muda o comportamento de um site de seu comportamento pretendido. A poluição de parâmetros HTTP é um tipo simples de ataque, mas é eficaz.
Quando você polui qualquer parâmetro, o código é executado apenas no lado do servidor, que é invisível para nós, mas podemos ver os resultados em nossa tela. O processo intermediário é uma caixa preta.
Por exemplo, há uma URL https://www.anybank.com/send que tem três parâmetros:
- de:
- para:
- quantidade:
URL: https://www.anybank.com/send/?from=accountA&to=accountB&amount=10000
Agora, esta é uma URL normal que irá proceder a uma transação de 10000 de accountA para accountB, mas e se adicionarmos outro parâmetro igual "from:"
Então, a URL será como https://www.anybank.com/send/?from=accountA&to=accountB&amount=10000&from=accountC
Quando esta URL for processada, uma transação de 10000 será deduzida da contaC em vez da contaA. É assim que você manipula os parâmetros no ataque de Poluição de Parâmetros HTTP. Embora o escopo dessa vulnerabilidade não se limite apenas à solicitação GET, você também pode realizar esse ataque em uma solicitação baseada em POST. Você pode tentar essa vulnerabilidade em muitos lugares, como alteração de senha, 2FA, comentários, upload de foto de perfil, em um parâmetro onde a chave da API é passada, OTP etc.
Quando você manipula qualquer parâmetro, sua manipulação depende de como cada tecnologia da web está analisando seus parâmetros. Você pode identificar tecnologias da web usando o "Wappalyzer". Abaixo está a captura de tela de algumas tecnologias e sua análise de parâmetros. Tecnologias e sua análise de parâmetros
Gostaria de compartilhar uma das minhas descobertas de HPP, onde consegui assumir uma conta usando essa vulnerabilidade.
Como encontrei essa vulnerabilidade?
- Fui para uma página de login desse programa, que solicitou um OTP para login
Enviar OTP
-
Digitei um e-mail e cliquei em "Enviar senha única"
-
Interrompi a solicitação usando o burp suite e adicionei outro e-mail usando o mesmo parâmetro (criei dois e-mails para fins de teste) Solicitação Burp
- Recebi um OTP de shrey……@gmail.com para minha outra conta radhika…..@gmail.com OTP
- Copiei o OTP e fui para shrey….@gmail.com na tela de login do programa, digitei este OTP e entrei na conta. Assumir Conta
O que aconteceu aqui é que o aplicativo back-end pegou o valor do primeiro parâmetro "email" para gerar um OTP e usou o valor do segundo parâmetro "email" para fornecer o valor, o que significa que um OTP de shrey….@gmail.com foi enviado para radhika….@gmail.com.
NOTA: Aqui, em uma imagem no 4º passo, onde recebi um OTP para radhika….@gmail.com, fiquei confuso porque a mensagem dizia "Oi Radhika", então pensei que o parâmetro não estava poluído e o OTP era para radhika….@gmail.com, mas quando tentei o OTP em shrey….@gmail.com, funcionou.