7.5 KiB
Poluição de Parâmetros
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Verifique 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 Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
Copiado de https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654
Resumo:
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 à manipulação de como um site trata os parâmetros que recebe durante as solicitações HTTP. Isso altera 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, o 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 possui três parâmetros:
- from:
- to:
- amount:
URL: https://www.anybank.com/send/?from=accountA&to=accountB&amount=10000
Agora, esta é uma URL normal que irá realizar uma transação de 10000 de accountA para accountB, mas e se adicionarmos outro parâmetro igual "from:"
Então, a URL ficará assim 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 esteja limitado 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, ele solicitou um OTP para fazer 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 do Burp
- Recebi um OTP de shrey....@gmail.com em minha outra conta radhika....@gmail.com OTP
- Copiei o OTP e fui para shrey....@gmail.com na tela de login do programa, inseri este OTP e entrei na conta. Assumir Conta
Então, 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 na 4ª etapa, onde recebi um OTP para radhika....@gmail.com, fiquei confuso porque a mensagem dizia Olá 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.
Flask & PHP
Neste documento você pode ver como uma consulta HTTP como a=1&a=2
será interpretada de forma diferente pelo Flask e pelo PHP em execução em um servidor Apache HTTP. No Flask, o parâmetro será 1
(primeira ocorrência), enquanto no PHP será 2
(última ocorrência).
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Você quer ver sua empresa anunciada no HackTricks? Ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Verifique 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 Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.