(MySQL) UNION ja salasanatiivisteiden (hash) murtaminen
Tiivistealgoritmit
Nykyisin on onneksi melko harvinaista, että sovellukset tallentavat käyttäjien salasanat selkokielisenä tietokantaan. Tällöinhän hyökkääjä, joka saisi tietokannan varastettua, saisi läjän salasanoja, joita koittaa esimerkiksi käyttäjien tileihin muissa palveluissa (tästä syystä salasanoja ei saa uudelleenkäyttää).
Sen sijaan salasanat yleensä "hashataan", eli ajetaan yksisuuntaisen tiivistealgoritmin läpi, joita ovat esimerkiksi MD5, SHA1, jne.
Esimerkiksi tekstin "kissa123" MD5-tiiviste on 13c3a117d0013ab22417c8edca354b76. Sovellus voisi siis tallentaa käyttäjän tietokantaan seuraavasti:
Email: [email protected]
PasswordHash: 13c3a117d0013ab22417c8edca354b76
Kun Jaska Jokunen kirjautuu, sovellus tarkistaa että onko **MD5(jaskan syöttämä salasana) **== tietokantaan tallennettu salasanatiiviste.
Hyökkääjä sen sijaan ei voi suoraan muuttaa tiivistettä 13c3a117d0013ab22417c8edca354b76 takaisin muotoon "kissa123". Tiivistealgoritmit ovat yksisuuntaisia.
Hyökkääjä voi kuitenkin arvailla raa'alla laskentateholla ja sanalistoilla.
- Onko "pokemon" tiiviste 13c3a117d0013ab22417c8edca354b76? Ei.
- Onko "kitara456" tiiviste 13c3a117d0013ab22417c8edca354b76? Ei.
- Onko "kissa123" tiiviste 13c3a117d0013ab22417c8edca354b76? Kyllä.
Tällaista arvailua kutsutaan yleensä salasanan kräkkäämiseksi.
Hakkeroinnin oppiminen alkaa tästä
Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.