Vai ir iespējams noskaidrot, kāda veida šifrēšana/kodēšana tiek izmantota?
Piemēram, es testēju tīmekļa lietojumprogrammu, kas glabā paroli datubāzē šifrētā formātā (WeJcFMQ/8+8QJ/w0hHh+0g==
). Kā es varu noteikt, kāda šifrēšana vai šifrēšana tiek izmantota?
Edit: Es tikko pamanīju ļoti foršu skriptu ar nosaukumu hashID. Nosaukums diezgan daudz to raksturo.
Vispārīgi runājot, izmantojot pieredzi, lai izdarītu izglītotus minējumus, ir veids, kā šīs lietas tiek darītas.
Šeit ir saraksts ar ļoti lielu skaitu hash izvades, lai jūs zinātu, kā katrs no tiem izskatās, un varētu izveidot parakstus/rakstus vai vienkārši optiski pārbaudīt.
- [Tiešsaistes šifru krekinga hešu ģenerators](https://www.onlinehashcrack.com/hash-generator.php)
- [InsidePro Software Forum > Hash Types](https://web.archive.org/web/20160403135857/https://forum.insidepro.com/viewtopic.php?t=8225) (izmantojot Archive.org).
Vispirms pievērsiet uzmanību divām *galvenām* lietām:
- heša garumu (katrai heša funkcijai ir noteikts izejas garums).
- izmantotais alfabēts (vai visi burti ir angļu burti? cipari 0-9 un A-F, tātad sešburtu formātā? kādas ir speciālās rakstzīmes, ja tādas ir?).
Vairākas paroļu uzlaušanas programmas (piemēram, John the ripper) ievadei piemēro noteiktu paraugu saskaņošanu, lai uzminētu izmantoto algoritmu, taču tas darbojas tikai vispārīgām hešām. Piemēram, ja ņemat jebkuru hash izvades kodu un pagriežat katru burtu par 1, lielākā daļa paraugu saskaņošanas shēmu neizdosies.
Vienīgais veids ir uzminēt. Ar pieredzi minējums būs pareizāks.
Piemēram: Pamatojoties uz izejas garumu: MD5 izvads ir 128 biti jeb 16 baiti, SHA1 izvads ir 160 biti jeb 20 baiti. Pamatojoties uz izejas rakstzīmju kopu: BASE64 nodrošina drukājamu rakstzīmju izvadi.
Galu galā, mēģinājumu un kļūdu pieeja ir tā, kas iemāca, kā.
Vienīgais veids ir, ja ir metadati, kas jums to norāda. Piemēram, pēdējā laikā es strādāju ar PDF failiem, un formātā ir iekļauta vārdnīca, kas satur filtru, algoritmu, atslēgas lielumu utt. Bet, ja jums ir tikai šifrteksts, tad jums ir tikai necaurspīdīgs datu bloks.