<summary><strong>Jifunze udukuzi wa AWS kutoka sifuri hadi shujaa na</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Ikiwa unataka kuona **kampuni yako inayotangazwa katika HackTricks** au **kupakua HackTricks katika PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya 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 udukuzi kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
Pata udhaifu unaowajali zaidi ili uweze kuzirekebisha haraka. Intruder inafuatilia eneo lako la shambulio, inafanya uchunguzi wa vitisho wa kujitokeza, inapata masuala katika mfumo wako wa teknolojia mzima, kutoka kwa APIs hadi programu za wavuti na mifumo ya wingu. [**Jaribu bure**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) leo.
Vidakuzi huja na vigezo kadhaa vinavyodhibiti tabia yao kwenye kivinjari cha mtumiaji. Hapa kuna muhtasari wa vigezo hivi kwa sauti ya kupitisha zaidi:
Tarehe ya kumalizika ya kuki inategemea sifa ya `Inatimia`. Kwa upande mwingine, sifa ya `Max-age` inafafanua wakati katika sekunde hadi kuki ifutwe. **Chagua `Max-age` kwani inaonyesha mazoea ya kisasa zaidi.**
Wenyeji wanaopokea kuki hupangwa na sifa ya `Kikoa`. Kwa chaguo-msingi, hii imewekwa kwa mwenyeji ambaye alitoa kuki hiyo, bila kujumuisha subdomains yake. Walakini, wakati sifa ya `Kikoa` inawekwa wazi, inajumuisha pia subdomains. Hii inafanya kuweka sifa ya `Kikoa` kuwa chaguo lisilokuwa na kizuizi, inayofaa kwa hali ambapo kushiriki kuki kati ya subdomains ni muhimu. Kwa mfano, kuweka `Kikoa=mozilla.org` kunafanya vidakuzi kupatikana kwenye subdomains kama `developer.mozilla.org`.
Njia maalum ya URL ambayo lazima iwe wazi kwenye URL ili kichwa cha `Kuki` kitumwe inaonyeshwa na sifa ya `Njia`. Sifa hii inazingatia herufi ya `/` kama kipambanuzi cha saraka, kuruhusu mechi katika saraka za ndani pia.
Jedwali kutoka [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) na limebadilishwa kidogo.\
Vidakuzi vyenye sifa ya _**SameSite**_ vitasaidia **kupunguza mashambulizi ya CSRF** ambapo kikao kilichosajiliwa kinahitajika.
**\*Tafadhali kumbuka kuwa kutoka Chrome80 (Feb/2019) tabia ya msingi ya kuki bila sifa ya samesite ya kuki itakuwa lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
Tafadhali kumbuka kuwa kwa muda, baada ya kufanya mabadiliko haya, **vidakuzi bila sera ya SameSite****katika Chrome vitatibiwa kama None** kwa **dakika 2 za kwanza na kisha kama Lax kwa ombi za POST za kiwango cha juu cha tovuti.**
* Ikiwa ukurasa unatuma vidakuzi kama jibu la ombi (kwa mfano katika ukurasa wa **PHPinfo**), inawezekana kutumia XSS kupeleka ombi kwenye ukurasa huu na **kuiba vidakuzi** kutoka kwa jibu (angalia mfano katika [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/).
* Hii inaweza kuvukwa na ombi za **TRACE****HTTP** kama majibu kutoka kwa seva (ikiwa njia hii ya HTTP inapatikana) yataonyesha vidakuzi vilivyotumwa. Mbinu hii inaitwa **Ufuatiliaji wa Msalaba-Site**.
* Mbinu hii inazuiliwa na **vivinjari vya kisasa kwa kutokuruhusu kutuma ombi la TRACE** kutoka kwa JS. Walakini, njia kadhaa za kuvuka hii zimepatikana katika programu maalum kama kutuma `\r\nTRACE` badala ya `TRACE` kwa IE6.0 SP2.
* Njia nyingine ni kutumia udhaifu wa siku sifuri wa vivinjari.
* Inawezekana **kubadilisha vidakuzi vya HttpOnly** kwa kutekeleza shambulio la kujaza kuki:
Ni muhimu kuzingatia kwamba vidakuzi vilivyopewa kipengele cha `__Host-` haviruhusiwi kutumwa kwa superdomains au subdomains. Kizuizi hiki kinawasaidia kudhibiti vidakuzi vya programu. Hivyo, kutumia kipengele cha `__Host-` kwa vidakuzi vyote vya programu kunaweza kuchukuliwa kama mazoea mazuri ya kuimarisha usalama na kudhibiti.
Data nyeti iliyowekwa kwenye vidakuzi lazima iangaliwe kwa umakini. Vidakuzi vilivyofichwa kwa muundo wa Base64 au muundo sawa mara nyingi vinaweza kuvunjwa. Udhaifu huu unaruhusu wadukuzi kubadilisha maudhui ya kidakuzi na kujifanya kuwa watumiaji wengine kwa kuweka data yao iliyo na mabadiliko kwenye kidakuzi.
Shambulio hili linahusisha kuiba kidakuzi cha mtumiaji ili kupata ufikiaji usiohalali kwenye akaunti yao ndani ya programu. Kwa kutumia kidakuzi kilichoporwa, mshambuliaji anaweza kujifanya kuwa mtumiaji halali.
Katika hali hii, mshambuliaji anadanganya mhanga kutumia kidakuzi maalum ili kuingia. Ikiwa programu haiweki kidakuzi kipya baada ya kuingia, mshambuliaji, akiwa na kidakuzi cha awali, anaweza kujifanya kuwa mhanga. Mbinu hii inategemea mhanga kuingia kwa kutumia kidakuzi kilichotolewa na mshambuliaji.
Hapa, mshambuliaji anamshawishi mhanga kutumia kidakuzi cha kikao cha mshambuliaji. Mhanga, akiamini kuwa ameingia kwenye akaunti yake mwenyewe, atafanya vitendo kwa niaba ya akaunti ya mshambuliaji bila kujua.
Vidakuzi vya JSON Web Tokens (JWT) vilivyotumika katika vidakuzi pia vinaweza kuwa na udhaifu. Ili kupata habari kamili kuhusu dosari zinazowezekana na jinsi ya kuzitumia, inashauriwa kufikia hati iliyolinkishwa kuhusu kudukua JWT.
Shambulio hili linawalazimisha watumiaji walioingia kwenye tovuti kutekeleza vitendo visivyotakiwa kwenye programu ya wavuti ambayo wamehakikiwa kwa sasa. Wadukuzi wanaweza kutumia vidakuzi ambavyo huletwa moja kwa moja na kila ombi kwa tovuti yenye udhaifu.
Matokeo katika kichwa cha habari cha kuki kilichotumwa ni `a=v1; thibitisha thamani; b=v2;`. Kwa kushangaza, hii inaruhusu kudhibiti kuki nyingine ikiwa kuki tupu ya jina imewekwa, ikidhibiti kuki nyingine kwa kuweka kuki tupu kwa thamani maalum:
Katika Chrome, ikiwa kipengele cha kipengele cha Unicode kipo katika kidakuzi kilichowekwa, `document.cookie` inaharibika, ikirudisha kamba tupu baadaye:
(Angalia maelezo zaidi katika [utafiti asilia](https://blog.ankursundara.com/cookie-bugs/))
Seva kadhaa za wavuti, ikiwa ni pamoja na zile za Java (Jetty, TomCat, Undertow) na Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), hazishughulikii vizuri herufi za kuki kutokana na msaada uliochakaa wa RFC2965. Zinasoma thamani ya kuki iliyofungwa kwa alama mbili za nukuu kama thamani moja hata kama ina vikolezo, ambavyo kawaida vinapaswa kutenganisha jozi za funguo-na-thamani.
(Angalia maelezo zaidi katika [utafiti asilia](https://blog.ankursundara.com/cookie-bugs/))
Uchanganuzi usio sahihi wa vidukizo vya kuki na seva, hasa Undertow, Zope, na wale wanaotumia `http.cookie.SimpleCookie` na `http.cookie.BaseCookie` ya Python, hutoa fursa za mashambulizi ya kuingiza vidukizo vya kuki. Seva hizi hazitenganishi kwa usahihi mwanzo wa vidukizo vipya, kuruhusu wadukuzi kuiga vidukizo vya kuki:
Mianya hii ni hatari hasa katika programu za wavuti zinazotegemea ulinzi wa CSRF kwa kutumia kuki, kwani inaruhusu wadukuzi kuingiza vidukizo vya kuki vya CSRF vilivyodanganyifu, na hivyo kupitisha hatua za usalama. Tatizo hili linazidishwa na namna Python inavyoshughulikia majina ya vidukizo vinavyorudia, ambapo tukio la mwisho linapuuza yale ya awali. Pia inaleta wasiwasi kwa vidukizo vya `__Secure-` na `__Host-` katika muktadha usio salama na inaweza kusababisha kuepuka idhini wakati vidukizo vinapitishwa kwa seva za nyuma zinazoweza kudanganywa.
* **Kuki** ni **sawa** kila wakati unapofanya **kuingia**.
* Fanya kuingia nje na jaribu kutumia kuki hiyo hiyo.
* Jaribu kuingia kwa kutumia vifaa 2 (au vivinjari) kwenye akaunti moja kwa kutumia kuki hiyo hiyo.
* Angalia ikiwa kuki ina habari yoyote ndani yake na jaribu kuihariri.
* Jaribu kuunda akaunti kadhaa zenye majina ya mtumiaji yanayofanana na angalia ikiwa unaweza kuona mfanano.
* Angalia chaguo la "**kumbuka mimi**" ikiwepo ili uone jinsi inavyofanya kazi. Ikiwepo na inaweza kuwa na udhaifu, tumia kuki ya **kumbuka mimi** bila kuki nyingine yoyote.
* Angalia ikiwa kuki ya awali inafanya kazi hata baada ya kubadilisha nenosiri.
Ikiwa kuki inabaki sawa (au karibu sawa) unapofanya kuingia, hii inamaanisha labda kuki hiyo inahusiana na uga fulani wa akaunti yako (labda jina la mtumiaji). Kisha unaweza:
* Jaribu kuunda akaunti nyingi na majina ya mtumiaji yanayofanana sana na jaribu **kudhanisha** jinsi algorithm inavyofanya kazi.
* Jaribu **kuvunja nguvu jina la mtumiaji**. Ikiwa kuki inahifadhi tu kama njia ya uwakilishi wa jina lako la mtumiaji, basi unaweza kuunda akaunti na jina la mtumiaji "**Bmin**" na **kuvunja nguvu** kila **biti** ya kuki yako kwa sababu moja ya vidukizo utakavyojaribu itakuwa inayomilikiwa na "**admin**".
Labda kuki inaweza kuwa na thamani na kusainiwa kwa kutumia CBC. Kwa hivyo, uadilifu wa thamani ni saini iliyoumbwa kwa kutumia CBC na thamani ile ile. Kwa kuwa inashauriwa kutumia IV kama vector tupu, aina hii ya ukaguzi wa uadilifu inaweza kuwa na udhaifu.
Unda mtumiaji aitwaye kwa mfano "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" na angalia ikiwa kuna mchoro wowote katika kuki (kwa kuwa ECB inaficha kwa kutumia ufunguo sawa kila kizuizi, herufi zilizofichwa sawa zinaweza kuonekana ikiwa jina la mtumiaji limefichwa).
Inapaswa kuwepo mchoro (wenye ukubwa wa kizuizi kilichotumiwa). Kwa hivyo, ukiwa na ufahamu wa jinsi "a" nyingi zilizofichwa unaweza kuunda jina la mtumiaji: "a"\*(ukubwa wa kizuizi)+"admin". Kisha, unaweza kufuta mchoro uliofichwa wa kizuizi cha "a" kutoka kwenye kuki. Na utakuwa na kuki ya jina la mtumiaji "admin".
Tafuta udhaifu unaofaa zaidi ili uweze kuyatatua haraka. Intruder inafuatilia eneo lako la shambulio, inafanya uchunguzi wa vitisho wa kujikinga, inapata masuala katika mfumo wako mzima wa teknolojia, kutoka kwa APIs hadi programu za wavuti na mifumo ya wingu. [**Jaribu bure**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) leo.
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee
* **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 PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.