<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 ikionekana kwenye 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 [**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 PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
Ikiwa una nia ya **kazi ya kudukua** na kudukua yasiyodukuliwa - **tunatafuta wafanyakazi!** (_inahitajika uwezo wa kuandika na kuzungumza Kipolishi kwa ufasaha_).
**ViewState** hutumika kama mfumo wa msingi katika ASP.NET kuweka data ya ukurasa na udhibiti kwenye kurasa za wavuti. Wakati wa kurendera HTML ya ukurasa, hali ya sasa ya ukurasa na thamani za kuhifadhiwa wakati wa postback zinafanywa kuwa vitambulisho vilivyosimbwa kwa kutumia base64. Vitambulisho hivi kisha huingizwa kwenye uga wa ViewState uliofichwa.
2. Kwa **toleo chini ya 4.5**, ikiwa MAC imelemazwa lakini Ufichaji haujafanywa, MachineKey inahitajika. Njia ya kuigundua MachineKey inaitwa "Blacklist3r."
3. Kwa **toleo chini ya 4.5**, bila kujali ikiwa MAC imelemazwa au haijalemazwa, ikiwa Ufichaji umewezeshwa, MachineKey inahitajika. Kuigundua MachineKey ni kazi ya "Blacklist3r - Maendeleo ya Baadaye."
4. Kwa **toleo 4.5 na zaidi**, mchanganyiko wowote wa MAC na Ufichaji (iwe wote ni kweli, au moja ni kweli na nyingine ni uwongo) unahitaji MachineKey. MachineKey inaweza kugunduliwa kwa kutumia "Blacklist3r."
Unaweza kujaribu kutambua ikiwa ViewState inalindwa na MAC kwa kukamata ombi lenye parameter hii na BurpSuite. Ikiwa Mac haikutumika kulinda parameter hiyo, unaweza kuitumia kwa kudukua kwa kutumia [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net)
Watumiaji wanaweza **kuondoa ViewState** isiwe sehemu ya Ombi la HTTP (mtumiaji hataipokea kuki hii).\
Inaweza kudhaniwa kuwa ikiwa **ViewState** haipo, utekelezaji wao ni **salama** kutokana na hatari yoyote inayoweza kutokea na deserialization ya ViewState.\
Hata hivyo, hiyo sio kesi. Ikiwa tunaweka **parameta ya ViewState** kwenye mwili wa ombi na kutuma mzigo uliosanidiwa wetu kwa kutumia ysoserial, bado tutaweza kufikia **utekelezaji wa nambari** kama ilivyoonyeshwa katika **Kesi ya 1**.
Unaweza kujaribu kutumia [**Blacklist3r(AspDotNetWrapper.exe)** ](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) ili kupata ufunguo uliotumiwa.
[**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets) ni chombo kingine kinachoweza kutambua machineKeys maarufu. Imeandikwa kwa kutumia Python, kwa hivyo tofauti na Blacklist3r, hakuna tegemezi la Windows. Kwa viewstates za .NET, kuna kifaa cha "python blacklist3r", ambacho ni njia ya haraka zaidi ya kutumia.
Kutafuta viewstates zenye udhaifu kwa kiwango kikubwa, kwa kushirikiana na uchunguzi wa subdomain, moduli ya `badsecrets` [**BBOT**](exploiting-\_\_viewstate-parameter.md) inaweza kutumika:
Ikiwa una bahati na ufunguo unapatikana, unaweza kuendelea na shambulio kwa kutumia [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net)**:**
Katika kesi hii, haijulikani ikiwa parameter inalindwa na MAC. Kwa hivyo, thamani labda imefichwa na utahitaji **Machine Key kuweza kuficha mzigo wako** ili kutumia udhaifu huo.
**Kabla ya .NET 4.5**, ASP.NET inaweza **kukubali** parameter ya \_`__VIEWSTATE`\_ isiyofichwa kutoka kwa watumiaji **hata** ikiwa **`ViewStateEncryptionMode`** imekuwa imewekwa kuwa _**Always**_. ASP.NET **inachunguza tu** uwepo wa parameter ya **`__VIEWSTATEENCRYPTED`** katika ombi. **Ikiwa mtu anatoa parameter hii, na kutuma mzigo usiofichwa, bado utasindika.**
Kwa hivyo, ikiwa wadukuzi wanapata njia ya kupata Machinekey kupitia udhaifu mwingine kama utafutaji wa faili, [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) amri iliyotumiwa katika **Kesi ya 2**, inaweza kutumika kutekeleza RCE kwa kutumia udhaifu wa deserialization ya ViewState.
* Ondoa parameter ya `__VIEWSTATEENCRYPTED` kutoka kwa ombi ili kutumia udhaifu wa deserialization ya ViewState, vinginevyo itarudisha kosa la uthibitisho wa MAC ya Viewstate na jaribio litashindwa.
Kwa maelezo zaidi kuhusu IISDirPath na TargetPagePath [rejea hapa](https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/)
Baada ya kutambua ufunguo sahihi wa Mashine, **hatua inayofuata ni kuzalisha mzigo uliosanidiwa kwa kutumia** [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net)
Ikiwa una thamani ya `__VIEWSTATEGENERATOR` unaweza kujaribu **kutumia** parameter ya `--generator` na thamani hiyo na **kutoa** parameta za `--path` na `--apppath`
Udanganyifu mafanikio wa udhaifu wa deserialization ya ViewState utasababisha ombi la nje ya wigo kwa seva inayodhibitiwa na mshambuliaji, ambayo inajumuisha jina la mtumiaji. Aina hii ya udanganyifu inadhihirishwa katika ushahidi wa dhana (PoC) ambao unaweza kupatikana kupitia rasilimali iliyoitwa "Exploiting ViewState Deserialization using Blacklist3r and YsoSerial.NET". Kwa maelezo zaidi juu ya jinsi mchakato wa udanganyifu unavyofanya kazi na jinsi ya kutumia zana kama Blacklist3r kwa kutambua MachineKey, unaweza kupitia [PoC ya Udanganyifu Mafanikio](https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/#PoC).
Mali ya **ViewStateUserKey** inaweza kutumika kwa **ulinzi** dhidi ya **shambulio la CSRF**. Ikiwa ufunguo kama huo umedefinika katika programu na tunajaribu kuzalisha mzigo wa **ViewState** na njia zilizojadiliwa hadi sasa, **mzigo hautasindika na programu**.\
Unahitaji kutumia parameter moja zaidi ili kuunda mzigo kwa usahihi:
Kwa majaribio yote, ikiwa mzigo wa ViewState wa YSoSerial.Net unafanya kazi **kwa mafanikio**, basi seva itajibu na "**Hitilafu ya seva ya ndani 500**" na maudhui ya jibu "**Taarifa ya hali ni batili kwa ukurasa huu na inaweza kuwa imeharibika**" na tunapata ombi la OOB.
Angalia [taarifa zaidi hapa]([**https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/**](https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/))
Ikiwa una nia ya **kazi ya udukuzi** na kudukua yasiyoweza kudukuliwa - **tunatoa ajira!** (_inahitajika kuwa na uwezo wa kuandika na kuzungumza Kipolishi kwa ufasaha_).
<summary><strong>Jifunze udukuzi wa 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 udukuzi kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.