Vad är en SQL-injektion?
En SQL-injektion med strukturerad fråga är en typ av attack som nästan alltid försöks mot en webbplats som är databasdriven. Det är en strävan att infoga skadlig kod i SQL-frågorna på webbplatsen för att störa datahantering genom att förstöra, ändra eller avslöja data som är lagrade i tabellerna i databasen som driver webbplatsen. SQL är ett vanligt programmeringsspråk som används för att skapa, uppdatera och hämta data som lagras i databaser.
Farorna med SQL-injektionsattacker är många och ofta mycket förödande när de framgångsrikt genomförs. Känslig information som kreditkortsnummer, en persons medicinska register, användarnamn och lösenord för konton som onlinebank och e-post samt olika typer av identifikationsnummer kan utsättas för cyberbrottslingar. Även om stöld av data förmodligen är det huvudsakliga målet för alla som försöker använda SQL-injektion, är det inte den enda motivationen för användning av denna eller någon annan typ av kodinjektionsteknik, till exempel skript på flera platser. Besökare på en webbplats som visar information som de inte gillar kan försöka SQL-injektionsattacker för att inaktivera webbplatsen, stjäla data eller ändra uppgifterna för att förstöra uppdraget för människorna bakom webbplatsen.
Ibland försöks en SQL-injektionsattack mot en webbplats av en missnöjd besökare som kan ha haft sitt konto förbjudet av webbplatsägarna, som tycker om webbplatsens popularitet eller som försöker förstöra onlineföretaget för någon han eller hon anser att vara en fiende. Kännedom om SQL krävs uppenbarligen för att inleda en SQL-injektionsattack, men det anses i allmänhet inte vara ett mycket svårt språk att lära sig, jämfört med andra programmeringsspråk, och mycket kan åstadkommas med bara en grundläggande, men solid, förståelse för hur man använder den. Det innebär att det finns ett stort antal människor som surfar på Internet som har den nödvändiga färdigheten att försöka SQL-injektion mot en webbplats.
Webbutvecklare, särskilt de som är specialiserade på back-end webbutveckling, är ansvariga för att säkerställa att webbplatserna de programmerar är säkra mot SQL-injektion. Det finns nästan alltid mer än ett sätt att uppnå en så viktig säkerhet, och de flesta av dessa metoder anses vara enkla men mycket effektiva lösningar. Till exempel kan en utvecklare använda funktionen mysql_real_escape_string () eller förberedda uttalanden när man skriptar i PHP-språket (hypertext preprocessor). De metoder som valts för att skydda mot attacker måste noggrant övervägas, eftersom webbplatsens prestanda som helhet inte kan bortses från även när du sätter upp säkerhet.