* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
(ECB) Elektronski kodni blok - simetrična šema šifrovanja koja **zamenjuje svaki blok čistog teksta** blokom šifrovanog teksta. To je **najjednostavnija** šema šifrovanja. Osnovna ideja je da se čisti tekst **podeli** na **blokove od N bitova** (zavisi od veličine bloka ulaznih podataka, algoritma šifrovanja) i zatim da se šifruje (dešifruje) svaki blok čistog teksta koristeći jedini ključ.
Zamislite da se prijavljujete na aplikaciju nekoliko puta i **uvek dobijate isti kolačić**. To je zato što je kolačić aplikacije **`<korisničkoime>|<lozinka>`**.\
Otkrijete da su **blokovi od 8B** gde je **informacija oba korisnika** ista **jednaki**. Tada pretpostavljate da se to možda dešava jer se koristi **ECB**.
Ovo je zato što su **korisničko ime i lozinka tih kolačića sadržali više puta slovo "a"** (na primer). **Blokovi** koji su **različiti** su blokovi koji su sadržali **barem 1 različit karakter** (možda razdelnik "|" ili neka neophodna razlika u korisničkom imenu).
Sada napadač samo treba da otkrije da li je format `<korisničko ime><razdelnik><lozinka>` ili `<lozinka><razdelnik><korisničko ime>`. Da bi to uradio, može jednostavno **generisati nekoliko korisničkih imena** sa **sličnim i dugim korisničkim imenima i lozinkama dok ne otkrije format i dužinu razdelnika:**
Znajući format kolačića (`<korisničkoime>|<lozinka>`), kako bi se predstavio kao korisnik `admin`, kreirajte novog korisnika pod imenom `aaaaaaaaadmin` i dobijte kolačić, zatim ga dekodirajte:
* Generišite korisničko ime koje: `len(<korisničko ime>) + len(<delimiter) % len(blok)`. Sa veličinom bloka od `8B` možete generisati korisničko ime nazvano: `username `, sa delimiterom `|` isečak `<korisničko ime><delimiter>` će generisati 2 bloka od 8B.
Kolačić ovog korisnika će biti sastavljen od 3 bloka: prva 2 bloka su blokovi korisničkog imena + delimitera, a treći je lozinka (koja predstavlja korisničko ime): `username |admin `