Jifunze na zoea AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**Mafunzo ya HackTricks AWS Timu Nyekundu Mtaalam (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Jifunze na zoea GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**Mafunzo ya HackTricks GCP Timu Nyekundu Mtaalam (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Angalia [**mpango wa michango**](https://github.com/sponsors/carlospolop)!
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au **kikundi cha** [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
(ECB) Kitabu cha Msimbo wa Kielektroniki - mpango wa kuficha wa kisimetri unaobadilisha kila kibodi cha maandishi wazi kwa kibodi ya maandishi yaliyofichwa. Ni mpango wa kuficha **rahisishi**. Wazo kuu ni **kugawa** maandishi wazi katika **vibodi vya N bits** (inategemea saizi ya kibodi ya data ya kuingia, algorithm ya kuficha) na kisha kuficha (kufichua) kila kibodi ya maandishi wazi kwa kutumia funguo pekee.
Fikiria unaingia kwenye programu mara kadhaa na **unapata kuki ile ile** kila wakati. Hii ni kwa sababu kuki ya programu ni **`<jina la mtumiaji>|<nywila>`**.\
Kisha, unazalisha watumiaji wapya, wote wawili wakiwa na **nywila ndefu sawa** na **karibu****jina la mtumiaji****sawa**.\
Unagundua kwamba **vibodi za 8B** ambapo **taarifa za watumiaji wote** ni sawa ni **sawa**. Kisha, unafikiria kwamba hii inaweza kuwa kwa sababu **ECB inatumika**.
Hii ni kwa sababu **jina la mtumiaji na nywila ya vidakuzi hivyo vilikuwa na mara nyingi herufi "a"** (kwa mfano). **Vipande** ambavyo ni **tofauti** ni vipande vilivyokuwa na **angalau herufi 1 tofauti** (labda kizuizi "|" au tofauti muhimu katika jina la mtumiaji).
Sasa, mshambuliaji anahitaji tu kugundua ikiwa muundo ni `<jina la mtumiaji><kizuizi><nywila>` au `<nywila><kizuizi><jina la mtumiaji>`. Ili kufanya hivyo, anaweza tu **kuunda majina mengi ya mtumiaji** na **majina ya mtumiaji na nywila ndefu na sawa** hadi apate muundo na urefu wa kizuizi:
Kwa kujua muundo wa kuki (`<jinalamtumiaji>|<nywila>`), ili kujifanya kuwa jina la mtumiaji `admin` unaweza kuunda mtumiaji mpya aitwaye `aaaaaaaaadmin` na kupata kuki na kuidecode:
* Tengeneza jina la mtumiaji ambalo: `len(<username>) + len(<delimiter) % len(block)`. Kwa ukubwa wa block wa `8B` unaweza kutengeneza jina la mtumiaji liitwalo: `username `, na delimiter `|` kipande `<username><delimiter>` kitazalisha vitalu 2 vya 8Bs.
* Kisha, tengeneza nenosiri litakaloweka idadi kamili ya vitalu vinavyoleta pamoja jina la mtumiaji tunayetaka kujifanya kuwa yeye na nafasi, kama: `admin `
Cookie ya mtumiaji huyu itakuwa imeundwa na vitalu 3: vya kwanza 2 ni vitalu vya jina la mtumiaji + delimiter na cha tatu ni cha nenosiri (ambacho kinajifanya kuwa jina la mtumiaji): `username |admin `