(MySQL) UPDATE-lauseiden injektoiminen
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:
1UPDATE taulu SET sarake=arvo mahdollisesti_toinen_sarake=toinen_arvo WHERE ehdotEli jos halutaan vaikka päivittää kaikkien autojen, joiden merkki on Ferrari, hinnaksi 50000, voitaisiin ajaa seuraavanlainen kysely:
1UPDATE 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!
Hakkeroinnin oppiminen alkaa tästä
Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.