Hvad er en SQL-injektion?
En SQL-injektion med struktureret forespørgsel er en type angreb, der næsten altid forsøges på et websted, der er databasestyret. Det er en bestræbelse på at indsætte ondsindet kode i SQL-forespørgslerne på webstedet for at forstyrre datahåndtering ved at ødelægge, ændre eller afsløre data, der er gemt i tabellerne i databasen, der driver webstedet. SQL er et standard programmeringssprog, der bruges til at oprette, opdatere og hente data, der er gemt i databaser.
Farerne ved SQL-injektionsangreb er mange og ofte meget ødelæggende, når de udføres med succes. Følsomme oplysninger såsom kreditkortnumre, en persons medicinske poster, brugernavne og adgangskoder til konti som online bank og e-mail samt forskellige typer identifikationsnumre kan udsættes for cyberkriminelle. Selvom tyveri af data sandsynligvis er det primære mål for enhver, der forsøger at bruge SQL-injektion, er det ikke den eneste motivation for brugen af denne eller nogen anden type kodeindsprøjtningsteknik, såsom scripting på tværs af websteder. Besøgende på et websted, der viser oplysninger, som de ikke kan lide, kan prøve SQL-injektionsangreb for at deaktivere webstedet, stjæle data eller ændre dataene for at ødelægge missionen for de mennesker, der står bag webstedet.
Nogle gange forsøges et SQL-injektionsangreb mod et websted af en utilfredse besøgende, der måske har fået hans eller hendes konto forbudt af webstedsejere, der misunder webstedets popularitet eller som forsøger at ødelægge onlineforretningen til en, han eller hun betragter vær en fjende. Kendskab til SQL kræves åbenlyst for at starte et SQL-injektionsangreb, men det betragtes generelt ikke som et meget vanskeligt sprog at lære sammenlignet med andre programmeringssprog, og meget kan udføres med kun en grundlæggende, men solid forståelse af, hvordan man bruger det. Dette betyder, at der er et godt antal mennesker, der surfer på Internettet, der har den nødvendige færdighed til at forsøge SQL-injektion mod et websted.
Webudviklere, især dem, der er specialiserede i back-end webudvikling, er ansvarlige for at sikre, at de websteder, de programmerer, er sikre mod SQL-injektion. Der er næsten altid mere end en måde at opnå en så vigtig sikkerhed på, og de fleste af disse metoder betragtes som enkle, men meget effektive løsninger. F.eks. Kan en udvikler bruge funktionen mysql_real_escape_string () eller forberedte udsagn, når man skriptes i sproget for hypertekstforarbejdning (PHP). De metoder, der er valgt til at beskytte mod angreb, skal overvejes nøje, fordi ydeevnen på webstedet som helhed ikke kan ses bort fra, selv når du opretter sikkerhed.