Radionica: “SQL injection — napad koji možeš spriječiti”
Povodom Europskog tjedna programiranja održali smo praktičnu radionicu u kojoj su učenici četvrtog razreda smjera tehničar za računalstvo upoznati s jednim od najčešćih i najopasnijih sigurnosnih problema u radu s bazama podataka — SQL injectionom — te naučili kako ga učinkovito spriječiti.



Što je SQL injection?
SQL injection je tehnika napada u kojoj zlonamjernik u unos (npr. polje za prijavu ili obrazac) ubacuje dio SQL naredbe. Ako aplikacija ne zaštiti ulaze, napadač može čitati, mijenjati ili brisati podatke iz baze — što može imati ozbiljne posljedice za privatnost i integritet podataka.
Što smo radili na radionici
Postavljanje okruženja
Izradili smo bazu podataka u MS SQL Serveru te osnovne tablice i testne podatke.
Napravili smo jednostavnu aplikaciju u C# koja komunicira s bazom.
Simulacija napada
Pokazali smo kako izgleda SQL injection na nezaštićenim upitima — demonstrirali smo koji se problemi mogu dogoditi kada aplikacija izravno umetne korisnički unos u SQL naredbu.
Zaštita pomoću parametriziranih upita
Implementirali smo parametrizirane upite (prepared statements) u C#–u. Učenici su vidjeli da parametrizacija odvaja logiku upita od podataka, čime se sprječava da korisnički unos promijeni strukturu SQL naredbe.
Zaštita pomoću pohranjenih procedura (stored procedures)
Kreirali smo stored procedure u MS SQL-u i pozivali ih iz C# aplikacije. Objasnili smo kako pravilno dizajnirane procedure dodatno smanjuju rizik i centraliziraju kontrolu nad pristupom bazi.
Što su učenici naučili
Razumjeti što je SQL injection i zašto je opasan.
Kako reproducirati napad u kontroliranom okruženju (radi učenja).
Kako primijeniti parametrizirane upite u C# aplikacijama.
Kako izraditi i pozivati stored procedure u MS SQL-u kao dodatnu razinu zaštite.
Zašto je ovo važno
Učenjem praktičnih tehnika zaštite od ranjivosti poput SQL injectiona gradimo sigurniju digitalnu budućnost. Znanje o sigurnom povezivanju aplikacije i baze podataka ključno je za sve koji razvijaju softver — od školskih projekata do profesionalnih rješenja.
Radionicu je vodila profesorica Emina Grmić.