Hash Length Extension Attack
Reading time: 2 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Sažetak napada
Zamislite server koji potpisuje neke podatke tako što dodaje tajnu na neke poznate podatke u čistom tekstu i zatim hešira te podatke. Ako znate:
- Dužinu tajne (to se može takođe bruteforce-ovati iz datog opsega dužine)
- Podatke u čistom tekstu
- Algoritam (i da je ranjiv na ovaj napad)
- Padding je poznat
- Obično se koristi podrazumevani, tako da ako su ispunjena druga 3 zahteva, ovo takođe jeste
- Padding varira u zavisnosti od dužine tajne + podataka, zato je dužina tajne potrebna
Tada je moguće da napadač doda podatke i generiše važeći potpis za prethodne podatke + dodate podatke.
Kako?
U suštini, ranjivi algoritmi generišu heševe tako što prvo heširaju blok podataka, a zatim, iz prethodno kreiranog heša (stanja), dodaju sledeći blok podataka i heširaju ga.
Zamislite da je tajna "secret" a podaci su "data", MD5 od "secretdata" je 6036708eba0d11f6ef52ad44e8b74d5b.
Ako napadač želi da doda string "append" može:
- Generisati MD5 od 64 "A"
- Promeniti stanje prethodno inicijalizovanog heša na 6036708eba0d11f6ef52ad44e8b74d5b
- Dodati string "append"
- Završiti heš i rezultantni heš će biti važeći za "secret" + "data" + "padding" + "append"
Alat
GitHub - iagox86/hash_extender
Reference
Ovaj napad je dobro objašnjen na https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.