hacktricks/pentesting-web/parameter-pollution.md

91 lines
6.6 KiB
Markdown
Raw Normal View History

2024-02-11 02:13:58 +00:00
# Uchafuzi wa Parameta
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:13:58 +00:00
Njia nyingine za kusaidia HackTricks:
2023-12-31 01:25:17 +00:00
* 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)
2024-02-11 02:13:58 +00:00
* **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 udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.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
# 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 ambazo hazikukusudiwa. 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)
2020-07-30 08:34:18 +00:00
2024-02-11 02:13:58 +00:00
URL ya shughuli ya programu ya benki:
2020-07-30 08:34:18 +00:00
2024-02-11 02:13:58 +00:00
- **URL Asili:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000`
2020-07-30 08:34:18 +00:00
2024-02-11 02:13:58 +00:00
Kwa kuingiza parameta ya ziada ya `from`:
2020-07-30 08:34:18 +00:00
- **URL Iliyobadilishwa:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
2020-07-30 08:34:18 +00:00
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 uthibitishaji wa hatua mbili, au ombi la ufunguo wa API.
2020-07-30 08:34:18 +00:00
### **Uchambuzi wa Parameta kulingana na Teknolojia**
2020-07-30 08:34:18 +00:00
- Jinsi parameta zinavyochambuliwa na kupewa kipaumbele inategemea teknolojia ya wavuti inayotumika, ikibadilisha jinsi HPP inavyoweza kutumika.
- Zana kama [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) husaidia kutambua teknolojia hizi na tabia zao za uchambuzi.
2020-07-30 08:34:18 +00:00
## Udukuzi wa PHP na HPP
2020-07-30 08:34:18 +00:00
**Kesi ya Udukuzi wa OTP:**
2020-07-30 08:34:18 +00:00
- **Muktadha:** Mfumo wa kuingia unahitaji Nenosiri Moja la Wakati (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 lililodukuliwa. Kasoro hii iliruhusu ufikiaji usioruhusiwa kwa kuzunguka hatua ya usalama iliyokusudiwa.
2020-07-30 08:34:18 +00:00
Hali hii inaonyesha kosa kubwa katika sehemu ya nyuma ya programu, ambayo ilichakata parameta ya kwanza ya `barua pepe` kwa ajili ya uundaji wa OTP lakini iliyotumia ya mwisho kwa utoaji.
2020-07-30 08:34:18 +00:00
**Kesi ya Udukuzi wa Ufunguo wa API:**
2020-07-30 08:34:18 +00:00
2024-02-11 02:13:58 +00:00
- **Hali:** Programu inaruhusu watumiaji kusasisha ufunguo wao wa API kupitia ukurasa wa mipangilio ya wasifu.
- **Mwelekeo wa Shambulio:** Mdudu anagundua kwamba kwa kuongeza parameta ya ziada ya `api_key` kwa ombi la POST, wanaweza kubadilisha matokeo ya kazi ya kusasisha ufunguo wa API.
- **Mbinu:** Kwa kutumia zana kama Burp Suite, mdudu anatengeneza ombi linalojumuisha parameta mbili za `api_key`: moja halali na nyingine yenye nia mbaya. Seva, ikichakata tu tukio la mwisho, inasasisha ufunguo wa API kwa thamani iliyotolewa na mdudu.
- **Matokeo:** Mdudu anapata udhibiti juu ya utendaji wa API wa muathiriwa, labda kupata au kurekebisha data binafsi bila idhini.
2020-07-30 08:34:18 +00:00
Mfano huu unasisitiza zaidi umuhimu wa kushughulikia parameta kwa usalama, hasa katika vipengele muhimu kama usimamizi wa ufunguo wa API.
2024-02-06 03:10:38 +00:00
## Uchambuzi wa Parameta: Flask vs. PHP
2024-02-06 03:10:38 +00:00
Jinsi teknolojia za wavuti zinavyoshughulikia parameta za HTTP zilizorudi hutofautiana, ikibadilisha hatari yao kwa mashambulizi ya HPP:
2024-02-06 03:10:38 +00:00
- **Flask:** Inachukua thamani ya kwanza ya parameta iliyokutwa, kama `a=1` katika mfuatano wa utaftaji `a=1&a=2`, ikipendelea tukio la kwanza kuliko nakala zinazofuata.
- **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 iliyodukuliwa na mdudu badala ya ile ya asili.
2020-07-30 08:34:18 +00:00
2024-02-11 02:13:58 +00:00
## Marejeo
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="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:13:58 +00:00
Njia nyingine za kusaidia HackTricks:
2023-12-31 01:25:17 +00:00
* 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)
2024-02-11 02:13:58 +00:00
* **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 udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
2022-04-28 16:01:33 +00:00
</details>