Finnes det en måte å finne ut hvilken type kryptering/koding som brukes?
Jeg tester for eksempel en webapplikasjon som lagrer passordet i databasen i et kryptert format (WeJcFMQ/8+8QJ/w0hHh+0g==
). Hvordan finner jeg ut hvilken hashing eller kryptering som brukes?
Rediger: Jeg la nettopp merke til et veldig kult skript som heter hashID. Navnet beskriver det ganske mye.
Generelt sett er det å bruke erfaring for å gjøre kvalifiserte gjetninger hvordan disse tingene gjøres.
Her er en liste med et veldig stort antall hash-utganger, slik at du vet hvordan hver enkelt ser ut og lager signaturer / mønstre eller bare verifiserer optisk.
- [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)
Det er to * viktigste * ting du først tar hensyn til:
- lengden på hashen (hver hash-funksjon har en spesifikk utgangslengde)
- alfabetet som brukes (er alle engelske bokstaver? tall 0-9 og A-F så hex? hvilke spesialtegn er det hvis noen?)
Flere passordknekkerprogrammer (for eksempel John the Ripper) bruker noe mønstermatching på inndataene for å gjette algoritmen som brukes, men dette fungerer bare på generiske hashes. Hvis du for eksempel tar en hvilken som helst hash-utgang og roterer hver bokstav med 1, vil de fleste mønstermatchingsordninger mislykkes.
Den eneste måten er å gjette. Med erfaring vil gjetningene bli mer korrekte.
For eksempel: Basert på lengden på utdata: MD5-utdata er 128 biter, eller 16 byte, SHA1-utdata er 160 biter, eller 20 byte. Basert på tegnsett for utdata: BASE64 produserer utdata med utskrivbare tegn.
Til syvende og sist er det prøve-og-feile-tilnærmingen som lærer deg hvordan.
Den eneste måten er når det er noen metadata som forteller deg. For eksempel har jeg jobbet med PDF-filer i det siste, og formatet inkluderer en ordbok som inneholder filter, algoritme, nøkkelstørrelse osv. Men hvis alt du har er krypteringsteksten, er alt du har en ugjennomsiktig klump med data.