Tässä moduulissa tutustumme UPDATE-lausekkeeseen ja SQL-injektioihin, jotka osuvat sellaisen sisälle!
UPDATE-lauseke
Siinä missä SELECT-lausekkeella haetaan rivejä tietokannasta ja INSERT-lausekkeella lisätään niitä, UPDATE-lauseke muuttaa riviä tai rivejä jotka on jo aiemmin INSERT-lausekkeella lisätty tietokantaan.
UPDATE-lausekkeen muoto on seuraavanlainen:
UPDATE taulu SET sarake=arvo mahdollisesti_toinen_sarake=toinen_arvo WHERE ehdot
Eli jos halutaan vaikka päivittää kaikkien autojen, joiden merkki on Ferrari, hinnaksi 50000, voitaisiin ajaa seuraavanlainen kysely:
UPDATE autot SET hinta=50000 WHERE merkki='Ferrari'
UPDATE-lausekkeen injektoinnissa voi käyttää samaa alikyselytekniikkaa kuin INSERT-lausekkeissakin. Otetaan kuitenkin vaihtelun vuoksi toisenlainen lähestymistapa; yritetään admin-käyttäjän salasanan selvittämisen sijasta tehdä meistä itsestämme admin-käyttäjä.
Avaa harjoitustehtävä ja mene käyttäjätilisivulle (account) ja päivitä tietosi. Koita sitten löytää haavoittuvuus ja päivittää tietosi niin, että saat admin-kentän arvoksi asetettua True. Varo kuitenkin ettet hukkaa WHERE-lausekkeen id-rajausta, muuten saatat vahingossa päivittää omat tietosi jokaiselle käyttäjälle!
Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.
Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.