<summary><strong>Jifunze kuhusu kudukua 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 ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](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 [**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 kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
**Mwongozo wa tuzo ya mdudu**: **jiandikishe** kwa **Intigriti**, jukwaa la **tuzo za mdudu za malipo lililoundwa na wadukuzi, kwa wadukuzi**! Jiunge nasi kwenye [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) leo, na anza kupata tuzo hadi **$100,000**!
**ViewState** hutumika kama mbinu ya msingi katika ASP.NET kudumisha data ya ukurasa na udhibiti kwenye kurasa za wavuti. Wakati wa kurekebisha HTML ya ukurasa, hali ya sasa ya ukurasa na thamani za kuhifadhiwa wakati wa postback zinahifadhiwa kwenye mizizi iliyosimbwa kwa msingi wa base64. Vizuri hivi hutolewa kwenye maeneo ya ViewState yaliyofichwa.
1. Kwa **toleo lolote la .NET**, wakati MAC na Ufichaji wote wamelemazwa, MachineKey haihitajiki, na hivyo hakuna njia inayofaa ya kuigundua.
2. Kwa **toleo chini ya 4.5**, ikiwa MAC imewezeshwa lakini Ufichaji sio, MachineKey inahitajika. Njia ya kuigundua MachineKey inaitwa "Blacklist3r."
3. Kwa **toleo chini ya 4.5**, bila kujali ikiwa MAC imewezeshwa au la, ikiwa Ufichaji umewezeshwa, MachineKey inahitajika. Kuigundua MachineKey ni kazi ya "Blacklist3r - Maendeleo ya Baadaye."
4. Kwa **toleo 4.5 na zaidi**, mchanganyiko wote wa MAC na Ufichaji (iwe wote ni kweli, au moja ni kweli na nyingine sio) inahitaji MachineKey. MachineKey inaweza kugunduliwa kwa kutumia "Blacklist3r."
Unaweza jaribu kutambua ikiwa ViewState inalindwa na MAC kwa kuchukua ombi lenye parameter hili kwa kutumia BurpSuite. Ikiwa Mac haikutumika kulinda parameter unaweza kuitumia kwa kuitumia [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net)
Wabunifu wanaweza **kuondoa ViewState** isitumike kama sehemu ya Ombi la HTTP (mtumiaji hataipokea kuki hii).\
Mtu anaweza kudhani kwamba ikiwa **ViewState** haipo, utekelezaji wao ni **salama** kutokana na hatari yoyote inayoweza kutokea na deserialization ya ViewState.\
Hata hivyo, hilo sio jambo la kweli. Ikiwa tut **ongeza parameter ya ViewState** kwenye mwili wa ombi na kutuma mzigo uliosanidiwa wetu kwa kutumia ysoserial, bado tutaweza kufikia **utekelezaji wa nambari** kama ilivyoonyeshwa katika **Kesi 1**.
Kwa kuwa parameter hulindwa na MAC wakati huu ili kutekeleza shambulizi kwa mafanikio kwanza tunahitaji kutumia [**Blacklist3r(AspDotNetWrapper.exe)**](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) kupata ufunguo uliotumiwa.
[**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets) ni chombo kingine kinachoweza kutambua machineKeys za kujulikana. Imeandikwa kwa Python, hivyo tofauti na Blacklist3r, hakuna tegemezi la Windows. Kwa viewstates za .NET, kuna zana ya "python blacklist3r", ambayo ni njia ya haraka zaidi ya kutumia.
Kutafuta viewstates zenye kasoro kwa kiwango kikubwa, kwa kushirikiana na uchambuzi 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 hii haijulikani ikiwa parameter imekingwa na MAC. Kisha, thamani labda imefichwa na utahitaji **Machine Key** kuweza kuficha mzigo wako ili kutumia udhaifu.
**Katika kesi hii** [**Blacklist3r**](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) **moduli iko chini ya maendeleo...**
**Kabla ya .NET 4.5**, ASP.NET inaweza **kukubali** \_`__VIEWSTATE`\_parameter **bila****kuwa****imefichwa** kutoka kwa watumiaji **hata** kama **`ViewStateEncryptionMode`** imewekwa kuwa _**Always**_. ASP.NET **inaangalia** tu **uwepo** wa **parameter ya****`__VIEWSTATEENCRYPTED`** katika ombi. **Ikiwa mtu ataondoa parameter hii, na kutuma mzigo usiofichwa, bado utashughulikiwa.**
Hivyo basi ikiwa wachomaji wanapata njia ya kupata Machinekey kupitia udhaifu mwingine kama vile upitishaji wa faili, amri ya [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) iliyotumiwa katika **Kesi 2**, inaweza kutumika kufanya 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 Viewstate MAC na udhaifu utashindwa.
Unaweza kujaribu kutumia [**Blacklist3r(AspDotNetWrapper.exe)**](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) kwa kutafuta ufunguo unaotumiwa:
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 funguo ya Mashine halali, **hatua inayofuata ni kuzalisha mzigo uliosimbwa kwa kutumia** [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net)
Ikiwa una thamani ya `__VIEWSTATEGENERATOR` unaweza **jaribu kutumia** parameter ya `--generator` na thamani hiyo na **kupuuza** paramita za `--path` na `--apppath`
Udanganyifu mafanikio wa udhaifu wa deserialization wa ViewState utasababisha ombi la nje ya mpangilio kwenye seva inayodhibitiwa na mshambuliaji, ambayo inajumuisha jina la mtumiaji. Aina hii ya udanganyifu inadhihirishwa katika uthibitisho wa dhana (PoC) ambao unaweza kupatikana kupitia rasilimali iliyo na jina "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) iliyotolewa.
Mali ya **ViewStateUserKey** inaweza kutumika kwa **kujilinda** dhidi ya **mshambulizi wa CSRF**. Ikiwa funguo kama hiyo imefafanuliwa katika programu na jaribu kuzalisha mzigo wa **ViewState** na njia zilizojadiliwa hadi sasa, **mzigo hautasindika na programu**.\
Unahitaji kutumia paramita moja zaidi ili kuunda kwa usahihi mzigo:
Kwa kila kesi ya majaribio, ikiwa mzigo wa ViewState wa YSoSerial.Net unafanya kazi **kwa mafanikio** basi server itajibu na "**Hitilafu ya seva ya ndani ya 500**" ikiwa na maudhui ya jibu "**Taarifa ya hali ni batili kwa ukurasa huu na inaweza kuwa imeharibika**" na tutapata ombi la OOB.
**Mwongozo wa tuzo ya mdudu**: **Jisajili** kwa **Intigriti**, jukwaa la tuzo za mdudu la malipo lililoundwa na wadukuzi, kwa wadukuzi! Jiunge nasi kwenye [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) leo, na anza kupata tuzo hadi **$100,000**!
<summary><strong>Jifunze kuhusu 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 ikitangazwa 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 [**NFTs**](https://opensea.io/collection/the-peass-family) ya 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 PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.