# Uchafuzi wa Parameta
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya HackTricks AWS)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](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 kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
{% embed url="https://websec.nl/" %} # Muhtasari wa Uchafuzi wa Parameta za HTTP (HPP) Uchafuzi wa Parameta za HTTP (HPP) ni mbinu ambapo wadukuzi wanabadilisha parameta za HTTP kubadilisha tabia ya programu ya wavuti kwa njia ambayo haikukusudiwa. Ubadilishaji huu hufanywa kwa kuongeza, kurekebisha, au kunakili parameta za HTTP. Athari za ubadilishaji huu hazionekani moja kwa moja kwa mtumiaji lakini zinaweza kubadilisha kwa kiasi kikubwa utendaji wa programu kwenye upande wa seva, na kuathiriwa kwa njia inayoonekana kwa mtumiaji. ## Mfano wa Uchafuzi wa Parameta za 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 Iliyobadilishwa:** `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 kudhibiti shughuli au utendaji mwingine kama vile kurekebisha nywila, mipangilio ya uthibitishaji wa hatua mbili, au ombi la ufunguo wa API. ### **Uchambuzi wa Parameta kulingana na Teknolojia** - Jinsi parameta zinavyochambuliwa na kupewa kipaumbele inategemea teknolojia ya wavuti inayotumika, ikibadilisha jinsi HPP inavyoweza kutumiwa. - Zana kama [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) husaidia kutambua teknolojia hizi na tabia zao za uchambuzi. ## Udukuzi wa PHP na HPP **Kesi ya Udukuzi wa OTP:** - **Muktadha:** Mfumo wa kuingia unahitaji Nenosiri la Mara Moja (OTP) ulidukuliwa. - **Mbinu:** Kwa kuingilia kati ombi la OTP kwa kutumia zana kama Burp Suite, wadukuzi walikariri 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 iliyotajwa katika ombi lililobadilishwa. 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 ilitumia ya mwisho kwa utoaji. **Kesi ya Udukuzi wa Ufunguo wa API:** - **Hali:** Programu inaruhusu watumiaji kusasisha ufunguo wao wa API kupitia ukurasa wa mipangilio ya wasifu. - **Mwelekeo wa Shambulio:** Mdau anagundua kwamba 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, mdau anatengeneza ombi linalojumuisha 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 mdau. - **Matokeo:** Mdau anapata udhibiti wa utendaji wa API wa muathiriwa, labda kupata au kurekebisha data binafsi bila idhini. Mfano huu unasisitiza zaidi umuhimu wa kushughulikia parameta kwa usalama, hasa katika vipengele muhimu kama usimamizi wa ufunguo wa API. ## Uchambuzi wa Parameta: Flask vs. PHP Jinsi teknolojia za wavuti zinavyoshughulikia parameta za HTTP zinatofautiana, zikibadilisha hatari yao kwa mashambulizi ya HPP: - **Flask:** Inachukua thamani ya kwanza ya parameta inayopatikana, kama vile `a=1` katika mfuatano wa utaftaji `a=1&a=2`, ikipendelea kisa cha kwanza kuliko nakala zifuatazo. - **PHP (kwenye Seva ya HTTP ya Apache):** Kinyume chake, inapendelea thamani ya mwisho ya parameta, ikichagua `a=2` katika mfano uliopewa. Tabia hii inaweza kwa bahati mbaya kurahisisha mashambulizi ya HPP kwa kuheshimu parameta iliyobadilishwa na mdau badala ya ile ya awali. ## 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)
{% embed url="https://websec.nl/" %}
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya HackTricks AWS)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](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 kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.