Er der en måde at finde ud af, hvilken type kryptering/kodning der anvendes?
Jeg tester f.eks. en webapplikation, som gemmer adgangskoden i databasen i et krypteret format (WeJcFMQ/8+8QJ/w0hHh+0g==
). Hvordan kan jeg afgøre, hvilken hashing- eller krypteringsmetode der anvendes?
Edit: Jeg har lige bemærket et meget cool script ved navn hashID. Navnet beskriver det ret godt.
Generelt set er det sådan at bruge erfaring til at lave kvalificerede gæt, hvordan disse ting gøres.
Her er en liste med et meget stort antal hash-udgange, så du ved, hvordan hver enkelt ser ud, og du kan oprette signaturer/patenter eller bare optisk verificere.
- [Online Hash Crack Hashes Generator] (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) (via Archive.org)
Der er to *hoved* ting du først skal være opmærksom på:
- Hashens længde (hver hashfunktion har en bestemt udgangslængde)
- det anvendte alfabet (er alle engelske bogstaver? tal 0-9 og A-F så hex? hvilke specialtegn er der i givet fald?)
Flere programmer til at knække kodeord (John the ripper for eksempel) anvender en vis mønstermatchning på input for at gætte den anvendte algoritme, men dette virker kun på generiske hashes. Hvis du f.eks. tager et hvilket som helst hash-output og roterer hvert bogstav med 1, vil de fleste mønstermatchningsordninger mislykkes.
Den eneste måde er at gætte på. Med erfaringen bliver gætarbejdet mere korrekt.
For eksempel: Baseret på længden af output: MD5 output er 128 bits eller 16 bytes, SHA1 output er 160 bits eller 20 bytes. Baseret på outputets tegnsæt: BASE64 giver output med udskrivbare tegn.
Når alt kommer til alt, er det forsøg-og-fejl-tilgangen, der lærer dig hvordan.
Den eneste måde er, hvis der er nogle metadata, der fortæller dig det. Jeg har f.eks. arbejdet med PDF-filer på det seneste, og formatet indeholder en ordbog med filter, algoritme, nøglestørrelse osv. Men hvis det eneste du har er cipherteksten, så er alt hvad du har, en uigennemsigtig klat data.