# Uchafuzi wa Parameta
Jifunze kuhusu uchomaji wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako inatangazwa katika HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za uchomaji kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
# Mapitio ya Uchafuzi wa Parameta ya HTTP (HPP)
Uchafuzi wa Parameta ya HTTP (HPP) ni mbinu ambapo wadukuzi wanabadilisha parameta za HTTP ili kubadilisha tabia ya programu ya wavuti kwa njia ambayo haikukusudiwa. Ubadilishaji huu unafanywa kwa kuongeza, kubadilisha, au kunakili parameta za HTTP. Athari za ubadilishaji huu hazionekani moja kwa moja kwa mtumiaji lakini zinaweza kubadilisha sana utendaji wa programu kwenye upande wa seva, na kuathiriwa kwa njia inayoweza kuonekana kwa upande wa mteja.
## Mfano wa Uchafuzi wa Parameta ya HTTP (HPP)
URL ya shughuli ya programu ya benki:
- **URL Asili:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000`
Kwa kuingiza parameta ya ziada ya `from`:
- **URL Iliyochafuliwa:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
Shughuli inaweza kutozwa kwa usahihi kwa akaunti ya `accountC` badala ya `accountA`, ikionyesha uwezo wa HPP kubadilisha shughuli au utendaji mwingine kama vile kurekebisha nywila, mipangilio ya 2FA, au ombi la ufunguo wa API.
### **Uchanganuzi wa Parameta kulingana na Teknolojia Maalum**
- Jinsi parameta zinavyochanganuliwa na kupewa kipaumbele inategemea teknolojia ya wavuti iliyo chini, ikiaathiri jinsi HPP inaweza kudukuliwa.
- Zana kama [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) husaidia kutambua teknolojia hizi na tabia zao za uchanganuzi.
## PHP na Uchomaji wa HPP
**Kesi ya Uchomaji wa OTP:**
- **Mazingira:** Mfumo wa kuingia unahitaji Nenosiri la Mara Moja (OTP) ulidukuliwa.
- **Njia:** Kwa kuvuruga ombi la OTP kwa kutumia zana kama Burp Suite, wadukuzi walidondosha parameta ya `barua pepe` katika ombi la HTTP.
- **Matokeo:** OTP, iliyokusudiwa kwa barua pepe ya awali, badala yake ilipelekwa kwa anwani ya barua pepe ya pili iliyoainishwa katika ombi lililodanganywa. Kasoro hii iliruhusu ufikiaji usiohalali kwa kuzunguka hatua ya usalama iliyokusudiwa.
Hali hii inaonyesha kosa kubwa katika sehemu ya nyuma ya programu, ambayo ilichakata parameta ya kwanza ya `barua pepe` kwa kizazi cha OTP lakini iliyotumia ya mwisho kwa utoaji.
**Kesi ya Uchomaji wa Ufunguo wa API:**
- **Hali:** Programu inaruhusu watumiaji kusasisha ufunguo wao wa API kupitia ukurasa wa mipangilio ya wasifu.
- **Mfumo wa Shambulio:** Mshambuliaji anagundua kuwa kwa kuongeza parameta ya ziada ya `api_key` kwa ombi la POST, wanaweza kudhibiti matokeo ya kazi ya kusasisha ufunguo wa API.
- **Mbinu:** Kwa kutumia zana kama Burp Suite, mshambuliaji anatengeneza ombi ambalo linajumuisha parameta mbili za `api_key`: moja halali na moja yenye nia mbaya. Seva, ikichakata tu tukio la mwisho, inasasisha ufunguo wa API kwa thamani iliyotolewa na mshambuliaji.
- **Matokeo:** Mshambuliaji anapata udhibiti juu ya utendaji wa API ya mwathirika, na uwezekano wa kupata au kurekebisha data binafsi bila idhini.
Mfano huu unasisitiza umuhimu wa kushughulikia parameta kwa usalama, haswa katika vipengele muhimu kama usimamizi wa ufunguo wa API.
## Uchanganuzi wa Parameta: Flask vs PHP
Jinsi teknolojia za wavuti zinavyoshughulikia parameta za HTTP zinatofautiana, zikiathiri hatari yao kwa mashambulizi ya HPP:
- **Flask:** Inachukua thamani ya kwanza ya parameta iliyokutwa, kama vile `a=1` katika mfuatano wa utafutaji `a=1&a=2`, ikipewa kipaumbele kwa kesi ya kwanza kuliko nakala zinazofuata.
- **PHP (kwenye Seva ya HTTP ya Apache):** Kinyume chake, inapewa kipaumbele thamani ya mwisho ya parameta, ikichagua `a=2` katika mfano uliotolewa. Tabia hii inaweza kwa bahati mbaya kuwezesha mashambulizi ya HPP kwa kuheshimu parameta iliyodanganywa ya mshambuliaji badala ya ile ya asili.
## Marejeo
* [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)
Jifunze kuhusu uchomaji wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako inatangazwa katika HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za uchomaji kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.