SQL-i süstimine

Autor: Peter Berry
Loomise Kuupäev: 13 August 2021
Värskenduse Kuupäev: 22 Juunis 2024
Anonim
SQL-i süstimine - Tehnoloogia
SQL-i süstimine - Tehnoloogia

Sisu

Definitsioon - mida tähendab SQL-i süstimine?

SQL-i süstimine on arvutirünnak, mille käigus pahatahtlik kood manustatakse halvasti kavandatud rakendusse ja edastatakse seejärel taustaprogrammi andmebaasi. Seejärel toodavad pahatahtlikud andmed andmebaasi päringu tulemusi või toiminguid, mida poleks kunagi tohtinud teha.


Sissejuhatus Microsoft Azure'i ja Microsoft Cloud | Kogu selle juhendi kaudu saate teada, mis on pilvandmetöötlus ja kuidas Microsoft Azure aitab teil pilvest rännata ja oma ettevõtet juhtida.

Techopedia selgitab SQL-i süstimist

Tutvume SQL-i süstimisrünnaku näitega:

Panga toiminguid käivitav rakendus sisaldab menüüsid, mida saab kasutada kliendi andmete otsimiseks andmepunktide, näiteks kliendi sotsiaalkindlustuse numbri abil. Taustal kutsub rakendus SQL-i päringut, mis töötab andmebaasis, sisestades sisestatud otsinguväärtused järgmiselt:

VALI kliendi_nimi, telefon, aadress, sünnikuupäev_KU sotsiaalne_sec_no = 23425

Selles näidisskriptis sisestab kasutaja rakenduse menüü aknas väärtuse 23425, paludes kasutajal sisestada sotsiaalkindlustuse number. Seejärel, kasutaja antud väärtust kasutades, käivitatakse andmebaasis SQL-päring.

SQL-teadmistega kasutaja võib rakendust mõista ja sotsiaalkindlustuse numbri küsimisel ühe väärtuse sisestamise asemel sisestada stringi „23425 või 1 = 1”, mis edastatakse andmebaasi järgmiselt:

VALI kliendi_nimi, telefon, aadress, sünnikuupäev_KU social_sec_no = 23425 või 1 = 1

WHERE klausel on oluline, kuna see toob sisse haavatavuse. Andmebaasis on tingimus 1 = 1 alati tõene ja kuna päringus on täpsustatud kliendi sotsiaalkindlustuse numbri üksikasjad (23425) või KUS 1 = 1, tagastab päring kõik tabeli read, mis ei olnud algne kavatsus.

Ülaltoodud SQL-i süstimisrünnaku näide on lihtne, kuid see näitab, kuidas haavatavuse ärakasutamine rakenduse petmiseks taustaprogrammi andmebaasi päringu või käsu käivitamiseks.

SQL-i süstimisrünnakuid saab leevendada, tagades nõuetekohase rakenduse ülesehituse, eriti moodulites, mis vajavad andmebaasi päringute või käskude käitamiseks kasutaja sisestamist. Ülaltoodud näites võiks rakendust muuta nii, et see aktsepteeriks ainult ühte arvulist väärtust.