Electronic Code Book (ECB)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
(ECB) Kitabu cha Kanuni za Kielektroniki - mpango wa usimbuaji wa simetriki ambao unabadilisha kila block ya maandiko wazi kwa block ya maandiko yaliyosimbwa. Ni mpango wa usimbuaji rahisi zaidi. Wazo kuu ni kugawanya maandiko wazi katika blocks za N bits (inategemea ukubwa wa block ya data ya ingizo, algorithimu ya usimbuaji) na kisha kusimbua (kufungua) kila block ya maandiko wazi kwa kutumia funguo pekee.
Kutumia ECB kuna athari nyingi za usalama:
Blocks kutoka kwa ujumbe uliohifadhiwa yanaweza kuondolewa
Blocks kutoka kwa ujumbe uliohifadhiwa yanaweza kuhamishwa
Fikiria unapoingia kwenye programu mara kadhaa na daima unapata cookie ile ile. Hii ni kwa sababu cookie ya programu ni <username>|<password>
.
Kisha, unaunda watumiaji wapya wawili, wote wakiwa na nenosiri refu sawa na karibu jina la mtumiaji sawa.
Unagundua kwamba blocks za 8B ambapo habari za watumiaji wote wawili ni sawa ni sawa. Kisha, unafikiria kwamba hii inaweza kuwa kwa sababu ECB inatumika.
Kama katika mfano ufuatao. Angalia jinsi hizi cookies 2 zilizofunguliwa zina block kadhaa \x23U\xE45K\xCB\x21\xC8
mara nyingi.
Hii ni kwa sababu jina la mtumiaji na nenosiri la vidakuzi hivyo vilikuwa na herufi "a" mara kadhaa (kwa mfano). Vizuizi ambavyo ni tofauti ni vizuizi vilivyokuwa na angalau herufi 1 tofauti (labda mkataba "|" au tofauti muhimu katika jina la mtumiaji).
Sasa, mshambuliaji anahitaji tu kugundua ikiwa muundo ni <username><delimiter><password>
au <password><delimiter><username>
. Ili kufanya hivyo, anaweza tu kuunda majina kadhaa ya watumiaji yenye majina marefu na yanayofanana na nenosiri hadi apate muundo na urefu wa mkataba:
2
2
4
8
3
3
6
8
3
4
7
8
4
4
8
16
7
7
14
16
Kujua muundo wa cookie (<username>|<password>
), ili kujifanya kuwa jina la mtumiaji admin
tengeneza mtumiaji mpya anayeitwa aaaaaaaaadmin
na pata cookie na uifichue:
Tunaweza kuona muundo \x23U\xE45K\xCB\x21\xC8
ulioundwa hapo awali na jina la mtumiaji lililokuwa na a
pekee.
Kisha, unaweza kuondoa block ya kwanza ya 8B na utapata cookie halali kwa jina la mtumiaji admin
:
Katika hifadhidata nyingi, ni sawa kutafuta WHERE username='admin';
au WHERE username='admin ';
(Kumbuka nafasi za ziada)
Hivyo, njia nyingine ya kujifanya kuwa mtumiaji admin
ingekuwa:
Kuunda jina la mtumiaji ambalo: len(<username>) + len(<delimiter) % len(block)
. Kwa ukubwa wa block wa 8B
unaweza kuunda jina la mtumiaji linaloitwa: username
, na delimiter |
kipande <username><delimiter>
kitazalisha blocks 2 za 8Bs.
Kisha, kuunda nenosiri ambalo litajaza idadi sahihi ya blocks zinazokuwa na jina la mtumiaji tunataka kujifanya na nafasi, kama: admin
Keki ya mtumiaji huyu itakuwa na blocks 3: za kwanza 2 ni blocks za jina la mtumiaji + delimiter na ya tatu ni ya nenosiri (ambayo inajifanya kuwa jina la mtumiaji): username |admin
Kisha, badilisha block ya kwanza na ya mwisho na utakuwa unajifanya kuwa mtumiaji admin
: admin |username
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)