Hva er en SQL-injeksjon?
En SQL-injeksjon (Structure Query Language) er en type angrep som nesten alltid blir forsøkt mot et nettsted som er databasestyrt. Det er en forsøk på å sette inn ondsinnet kode i SQL-spørringene på nettstedet for å forstyrre datahåndtering ved å ødelegge, endre eller avsløre data som er lagret i tabellene i databasen som driver nettstedet. SQL er et standard programmeringsspråk som brukes til å lage, oppdatere og hente data som er lagret i databaser.
Farene ved SQL-injeksjonsangrep er mange og ofte veldig ødeleggende når de vellykket blir utført. Sensitiv informasjon som kredittkortnumre, personers medisinske poster, brukernavn og passord for kontoer som nettbank og e-post, samt forskjellige typer identifikasjonsnumre kan bli utsatt for nettkriminelle. Selv om tyveri av data sannsynligvis er hovedmålet for alle som forsøker å bruke SQL-injeksjon, er det ikke den eneste motivasjonen for bruk av denne eller noen annen type kodeinjeksjonsteknikk, for eksempel scripting på andre steder. Besøkende på et nettsted som viser informasjon som de ikke liker, kan prøve SQL-injeksjonsangrep for å deaktivere nettstedet, stjele data eller endre dataene for å ødelegge oppdraget til menneskene bak nettstedet.
Noen ganger blir et SQL-injeksjonsangrep forsøkt mot et nettsted av en misfornøyd besøkende som kan ha fått hans eller hennes konto forbudt av nettstedseierne, som misunner populariteten til nettstedet eller som søker å ødelegge onlinevirksomheten til noen han eller hun vurderer å vær en fiende. Kunnskap om SQL er åpenbart nødvendig for å starte et SQL-injeksjonsangrep, men det anses ikke generelt som et veldig vanskelig språk å lære, sammenlignet med andre programmeringsspråk, og mye kan oppnås med bare en grunnleggende, men solid forståelse av hvordan man bruker den. Dette betyr at det er en god del mennesker som surfer på Internett som har den nødvendige ferdigheten til å prøve SQL-injeksjon mot et nettsted.
Nettutviklere, spesielt de som spesialiserer seg på back-end webutvikling, er ansvarlige for at nettstedene de programmerer er sikre mot SQL-injeksjon. Det er nesten alltid mer enn en måte å oppnå så viktig sikkerhet på, og de fleste av disse metodene anses som enkle, men veldig effektive løsninger. En utvikler kan for eksempel bruke mysql_real_escape_string () -funksjonen eller utarbeidede uttalelser når man skripter i PHP-språket (hypertext preprocessor). Metodene som er valgt for å beskytte mot angrep, må vurderes nøye, fordi ytelsen til nettstedet som helhet ikke kan ignoreres selv når du setter opp sikkerhet.