mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
90 lines
7 KiB
Markdown
90 lines
7 KiB
Markdown
# Pollution de paramètres
|
|
|
|
<details>
|
|
|
|
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Autres façons de soutenir HackTricks :
|
|
|
|
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
|
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
|
|
|
</details>
|
|
|
|
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://websec.nl/" %}
|
|
|
|
|
|
# Aperçu de la pollution de paramètres HTTP (HPP)
|
|
|
|
La pollution de paramètres HTTP (HPP) est une technique où les attaquants manipulent les paramètres HTTP pour modifier le comportement d'une application web de manière non intentionnelle. Cette manipulation est effectuée en ajoutant, modifiant ou dupliquant des paramètres HTTP. L'effet de ces manipulations n'est pas directement visible pour l'utilisateur mais peut modifier significativement la fonctionnalité de l'application côté serveur, avec des impacts observables côté client.
|
|
|
|
## Exemple de pollution de paramètres HTTP (HPP)
|
|
|
|
Une URL de transaction d'application bancaire :
|
|
|
|
- **URL d'origine :** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000`
|
|
|
|
En insérant un paramètre `from` supplémentaire :
|
|
|
|
- **URL manipulée :** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
|
|
|
|
La transaction peut être incorrectement facturée à `accountC` au lieu de `accountA`, démontrant le potentiel de la HPP pour manipuler des transactions ou d'autres fonctionnalités telles que les réinitialisations de mot de passe, les paramètres 2FA ou les demandes de clé API.
|
|
|
|
### **Analyse des paramètres spécifiques à la technologie**
|
|
|
|
- La façon dont les paramètres sont analysés et priorisés dépend de la technologie web sous-jacente, affectant la manière dont la HPP peut être exploitée.
|
|
- Des outils comme [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) aident à identifier ces technologies et leurs comportements d'analyse.
|
|
|
|
## Exploitation de PHP et de la HPP
|
|
|
|
**Cas de manipulation OTP :**
|
|
|
|
- **Contexte :** Un mécanisme de connexion nécessitant un mot de passe à usage unique (OTP) a été exploité.
|
|
- **Méthode :** En interceptant la demande OTP à l'aide d'outils comme Burp Suite, les attaquants ont dupliqué le paramètre `email` dans la demande HTTP.
|
|
- **Résultat :** L'OTP, destiné à l'e-mail initial, a été envoyé à la deuxième adresse e-mail spécifiée dans la demande manipulée. Cette faille a permis un accès non autorisé en contournant la mesure de sécurité prévue.
|
|
|
|
Ce scénario met en lumière une lacune critique dans le backend de l'application, qui traitait le premier paramètre `email` pour la génération de l'OTP mais utilisait le dernier pour la livraison.
|
|
|
|
**Cas de manipulation de clé API :**
|
|
|
|
- **Scénario :** Une application permet aux utilisateurs de mettre à jour leur clé API via une page de paramètres de profil.
|
|
- **Vecteur d'attaque :** Un attaquant découvre qu'en ajoutant un paramètre `api_key` supplémentaire à la demande POST, il peut manipuler le résultat de la fonction de mise à jour de la clé API.
|
|
- **Technique :** En utilisant un outil comme Burp Suite, l'attaquant crée une demande qui inclut deux paramètres `api_key` : un légitime et un malveillant. Le serveur, ne traitant que la dernière occurrence, met à jour la clé API à la valeur fournie par l'attaquant.
|
|
- **Résultat :** L'attaquant prend le contrôle de la fonctionnalité API de la victime, potentiellement en accédant ou en modifiant des données privées de manière non autorisée.
|
|
|
|
Cet exemple souligne davantage la nécessité d'une manipulation sécurisée des paramètres, en particulier dans des fonctionnalités aussi critiques que la gestion des clés API.
|
|
|
|
## Analyse des paramètres : Flask vs PHP
|
|
|
|
La façon dont les technologies web gèrent les paramètres HTTP dupliqués varie, affectant leur susceptibilité aux attaques HPP :
|
|
|
|
- **Flask :** Adopte la première valeur de paramètre rencontrée, telle que `a=1` dans une chaîne de requête `a=1&a=2`, en donnant la priorité à l'instance initiale sur les doublons ultérieurs.
|
|
- **PHP (sur le serveur HTTP Apache) :** Au contraire, donne la priorité à la dernière valeur de paramètre, optant pour `a=2` dans l'exemple donné. Ce comportement peut faciliter involontairement les exploits HPP en honorant le paramètre manipulé de l'attaquant par rapport à l'original.
|
|
|
|
## Références
|
|
* [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>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Autres façons de soutenir HackTricks :
|
|
|
|
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
|
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
|
|
|
</details>
|