SQL Programmering: Sikker programudvikling

SQL Programmering: Sikker programudvikling

Share

Hvordan sikrer du, at din kode bliver sikker? Vi hjælper dig på vej

Vi har tidligere på disse sider skrevet om forskellige metodikker til, hvordan man kan udvikle sikker kode. Men vi er endnu ikke kommet med konkrete eksempler på, hvad sikker kode vil sige. Det råder vi bod på i denne samt en efterfølgende artikel.

I denne første del vil vi have fokus på SQL injection. Den næste artikel, som du kan læse i Alt om DATA nr. 4 2017, vil fokusere på de ting, man skal være opmærksom på, når man koder i f.eks. C/C++. Men vi starter som lovet med et kig på SQL injection og dennes sårbarheder.

Se også:  Sikker programudvikling med C++
Angreb med SQL injection

SQL injection er og har været i mange år en kernedel af en angribers våbenarsenal. Vi hører til stadighed om, at mange indbrud hos selv store virksomheder er baseret på et SQL injection-angreb. Men hvad er et SQL injection-angreb, og hvad består det af? Lad os starte med at kigge på et eksempel.

Tag et kig på figur 1.

Figur 1

Her har vi konstrueret en tekststreng, som har til formål at skulle bruges som en forespørgsel til databasen. Selve forespørgslen vil fungere, men hvis du kender til ASP.NET-programmering, så vil du lægge mærke til, at vi har brugt tekstværdierne fra input-boksene direkte i SQL-strengen. Det er en rigtig dårlig ide, da jeg ikke kan vide, hvad brugeren i den anden ende skriver ind i mine tekstbokse.

Se også:  Lær dine børn at kode

Del denne