Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

bitTi tehničar

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ć.