HAKATEMIA
08Injektiotekniikat

(MySQL) UNION ja salasanatiivisteiden (hash) murtaminen

Keskitaso45MIN

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.

1 / 4
Hakatemia Pro

Hakkeroinnin oppiminen alkaa tästä

Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.