hacktricks/pentesting-web/parameter-pollution.md

91 lines
6.6 KiB
Markdown
Raw Normal View History

# Parameterverontreiniging
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:25:17 +00:00
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
2024-02-11 02:07:06 +00:00
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
2020-07-30 08:34:18 +00:00
{% embed url="https://websec.nl/" %}
2020-07-30 08:34:18 +00:00
# HTTP Parameter Pollution (HPP) Oorsig
HTTP Parameter Pollution (HPP) is 'n tegniek waar aanvallers HTTP-parameters manipuleer om die gedrag van 'n webtoepassing op onbedoelde maniere te verander. Hierdie manipulasie word gedoen deur HTTP-parameters by te voeg, te wysig, of te dupliseer. Die effek van hierdie manipulasies is nie direk sigbaar vir die gebruiker nie, maar kan die toepassing se funksionaliteit aan die kant van die bediener aansienlik verander, met waarneembare impakte aan die kant van die klient.
## Voorbeeld van HTTP Parameter Pollution (HPP)
'n Banktoepassing transaksie-URL:
2020-07-30 08:34:18 +00:00
2024-02-11 02:07:06 +00:00
- **Oorspronklike URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000`
2020-07-30 08:34:18 +00:00
Deur 'n bykomende `from`-parameter in te voeg:
2020-07-30 08:34:18 +00:00
2024-02-11 02:07:06 +00:00
- **Gemanipuleerde URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
2020-07-30 08:34:18 +00:00
Die transaksie kan verkeerdelik aan `accountC` in plaas van `accountA` belas word, wat die potensiaal van HPP toon om transaksies of ander funksionaliteite soos wagwoordherstel, 2FA-instellings, of API-sleutelversoeke te manipuleer.
2020-07-30 08:34:18 +00:00
### **Tegnologiespesifieke Parameterontleding**
2020-07-30 08:34:18 +00:00
- Die manier waarop parameters ontled en prioriteit gegee word, hang af van die onderliggende webtegnologie, wat beïnvloed hoe HPP uitgebuit kan word.
- Gereedskap soos [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) help om hierdie tegnologieë en hul ontledingsgedrag te identifiseer.
2020-07-30 08:34:18 +00:00
## PHP en HPP Uitbuiting
2020-07-30 08:34:18 +00:00
**OTP-manipulasie-geval:**
2020-07-30 08:34:18 +00:00
2024-02-11 02:07:06 +00:00
- **Konteks:** 'n Aanmeldingsmeganisme wat 'n Eenmalige Wagwoord (OTP) vereis, is uitgebuit.
- **Metode:** Deur die OTP-versoek te onderskep met gereedskap soos Burp Suite, het aanvallers die `e-pos`-parameter in die HTTP-versoek gedupliseer.
- **Uitkoms:** Die OTP, bedoel vir die oorspronklike e-pos, is in plaas daarvan na die tweede e-posadres gestuur wat in die gemanipuleerde versoek gespesifiseer is. Hierdie fout het ongemagtigde toegang moontlik gemaak deur die bedoelde sekuriteitsmaatreël te omseil.
2020-07-30 08:34:18 +00:00
Hierdie scenario beklemtoon 'n kritiese oorsig in die toepassing se agterkant, wat die eerste `e-pos`-parameter vir OTP-generering verwerk het, maar die laaste vir aflewering gebruik het.
2020-07-30 08:34:18 +00:00
**API-sleutel-manipulasie-geval:**
2020-07-30 08:34:18 +00:00
- **Skenario:** 'n Toepassing laat gebruikers toe om hul API-sleutel deur 'n profielinstellingsbladsy op te dateer.
- **Aanvalvektor:** 'n Aanvaller ontdek dat deur 'n bykomende `api_key`-parameter by die POST-versoek aan te heg, hulle die uitkoms van die API-sleutelopdateerfunksie kan manipuleer.
- **Tegniek:** Deur 'n gereedskap soos Burp Suite te gebruik, stel die aanvaller 'n versoek op wat twee `api_key`-parameters insluit: een wettig en een skadelik. Die bediener, wat slegs die laaste voorkoms verwerk, werk die API-sleutel na die waarde wat deur die aanvaller voorsien is, op.
- **Resultaat:** Die aanvaller verkry beheer oor die slagoffer se API-funksionaliteit, wat moontlik toegang tot of wysiging van privaat data sonder toestemming behels.
2020-07-30 08:34:18 +00:00
Hierdie voorbeeld beklemtoon verder die noodsaaklikheid van veilige parameterhantering, veral in funksies soos kritieke API-sleutelbestuur.
2024-02-06 03:10:38 +00:00
2024-02-11 02:07:06 +00:00
## Parameterontleding: Flask vs. PHP
2024-02-06 03:10:38 +00:00
2024-02-11 02:07:06 +00:00
Die manier waarop webtegnologieë dupliseer HTTP-parameters hanteer, verskil en beïnvloed hul vatbaarheid vir HPP-aanvalle:
2024-02-06 03:10:38 +00:00
- **Flask:** Neem die eerste parameterwaarde wat aangetref word, soos `a=1` in 'n vraagstring `a=1&a=2`, met prioriteit vir die aanvanklike voorkoms bo die volgende duplikate.
- **PHP (op Apache HTTP-bediener):** Daarteenoor, gee prioriteit aan die laaste parameterwaarde, en kies `a=2` in die gegewe voorbeeld. Hierdie gedrag kan onbedoeld HPP-uitbuitings fasiliteer deur die aanvaller se gemanipuleerde parameter bo die oorspronklike te eer.
2020-07-30 08:34:18 +00:00
2024-02-11 02:07:06 +00:00
## Verwysings
2024-02-04 16:10:29 +00:00
* [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)
2022-04-28 16:01:33 +00:00
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:25:17 +00:00
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
2024-02-11 02:07:06 +00:00
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
2022-04-28 16:01:33 +00:00
</details>