Hjem Sikkerhet Hva er en sql-injeksjon? - definisjon fra techopedia

Hva er en sql-injeksjon? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr SQL Injection?

En SQL-injeksjon er et dataangrep der ondsinnet kode er innebygd i et dårlig designet program og deretter sendt til backend-databasen. De ondsinnede dataene produserer da resultatresultater eller handlinger for databaser som aldri burde vært utført.

Techopedia forklarer SQL Injection

La oss gå gjennom et eksempel på et SQL-injeksjonsangrep:


En applikasjon som driver en banks virksomhet, inneholder menyer som kan brukes til å søke etter kundedetaljer ved å bruke datapunkter som kundens personnummer. I bakgrunnen kaller applikasjonen et SQL-spørsmål som kjøres i databasen ved å sende de angitte søkeverdiene som følger:


VELG klientnavn, telefon, adresse, dato for fødsel WHERE social_sec_no = 23425


I dette eksempelskriptet legger brukeren inn 23425-verdien i programmenyen, og ber brukeren om å oppgi personnummer. Deretter kjører et SQL-spørsmål i databasen ved å bruke verdien som er gitt av brukeren.


En bruker med SQL-kunnskap kan forstå applikasjonen, og i stedet for å oppgi en enkelt verdi når du blir spurt om personnummer, skriver du inn strengen "23425 eller 1 = 1, " som blir sendt til databasen som følger:


VELG klientnavn, telefon, adresse, dato for fødsel WHERE social_sec_no = 23425 eller 1 = 1


WHERE-leddet er viktig fordi den introduserer sårbarhet. I en database er betingelsen 1 = 1 alltid sann, og fordi spørringen er spesifisert for å returnere klientens personnummer (23425) eller HVOR 1 = 1, vil spørringen returnere alle rader i tabellen, som ikke var opprinnelig intensjon.


Ovenstående eksempel på SQL-injeksjonsangrep er enkelt, men det viser hvordan man utnytter en sårbarhet for å lure applikasjonen til å kjøre en backend-database-spørring eller -kommando.


SQL-injeksjonsangrep kan dempes ved å sikre riktig applikasjonsdesign, spesielt i moduler som krever brukerinndata for å kjøre databasespørsmål eller kommandoer. I eksemplet over kan applikasjonen endres slik at den bare godtar en numerisk verdi.

Hva er en sql-injeksjon? - definisjon fra techopedia