# Poluição de Parâmetros
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
**Copiado de** [**https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654**](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 uma aplicação web para alcançar uma tarefa maliciosa específica. Refere-se a manipular como um site trata parâmetros que recebe durante solicitações HTTP. Isso muda o comportamento do site do seu intencionado. 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 na nossa tela. O processo intermediário é uma caixa preta.
Por exemplo, existe uma URL https://www.anybank.com/send que tem três parâmetros :
1. from :
2. to :
3. amount :
**URL : https://www.anybank.com/send/?from=accountA\&to=accountB\&amount=10000**
Agora, esta é uma URL normal que procederá uma transação de 10000 de accountA para accountB, mas e se adicionarmos outro mesmo parâmetro **“from :”**
Então a URL será como **https://www.anybank.com/send/?from=accountA\&to=accountB\&amount=10000\&from=accountC**
Quando esta URL proceder uma transação de 10000, será deduzido de accountC em vez de accountA. É assim que você manipula os parâmetros em um ataque de **Poluição de Parâmetros HTTP**. Embora o escopo desta vulnerabilidade não esteja limitado apenas a solicitações **GET**, você também pode realizar este ataque em uma solicitação baseada em **POST**. Você pode tentar esta vulnerabilidade em muitos lugares como mudança 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 web está analisando seus parâmetros. Você pode identificar tecnologias web usando “[Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/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
![Image for post](https://miro.medium.com/max/1760/1\*POs4sP0fQVlPvTH9vw1U-A.jpeg)
Gostaria de compartilhar uma das minhas descobertas de HPP onde consegui assumir uma conta usando essa vulnerabilidade.
**Como encontrei essa vulnerabilidade ?**
1. Fui para uma página de login daquele programa, ele pediu um OTP para login
Enviar OTP
![Image for post](https://miro.medium.com/max/600/1\*s-M09yWBylPVEhA6\_e0nSw.jpeg)
2\. Digitei um email e cliquei em "Enviar Senha de Uso Único"
3\. Interceptei a solicitação usando o burp suite e adicionei outro email usando o mesmo parâmetro (criei dois emails para fins de teste)Solicitação Burp
![Image for post](https://miro.medium.com/max/1737/1\*z\_RpnZyKHLn6B4Lz4ONT3Q.png)
4\. Recebi um OTP de shrey……@gmail.com na minha outra conta radhika…..@gmail.com OTP
![Image for post](https://miro.medium.com/max/784/1\*a671GrRtiMYfLUL7nURD8Q.png)
5\. Copiei o OTP e fui para shrey….@gmail.com na tela de login do programa, inseri este OTP e entrei na conta.Tomada de Conta
![Image for post](https://miro.medium.com/max/1698/1\*Ux-ILfCr\_Mk\_xmzzsXwNnA.jpeg)
Então o que aconteceu aqui é que a aplicação 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.
## Flask & PHP
Neste [**relato**](https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution) você pode ver como uma consulta HTTP como `a=1&a=2` será interpretada de forma diferente pelo Flask e PHP rodando em um Apache HTTP Server. No Flask, o parâmetro será `1` (primeira ocorrência) enquanto no PHP será `2` (última ocorrência).
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).