mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-21 02:23:30 +00:00
90 lines
6.7 KiB
Markdown
90 lines
6.7 KiB
Markdown
# Poluição de Parâmetros
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Outras maneiras de apoiar o HackTricks:
|
|
|
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
|
|
</details>
|
|
|
|
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% 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`, demonstrando 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](https://addons.mozilla.org/en-US/firefox/addon/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 consulta `a=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, honrando o parâmetro manipulado do atacante sobre o original.
|
|
|
|
## Referências
|
|
* [https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654](https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
|
|
* [https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution](https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution)
|
|
|
|
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://websec.nl/" %}
|
|
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Outras maneiras de apoiar o HackTricks:
|
|
|
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
|
|
</details>
|