SQL ubrizgavanje

Autor: Peter Berry
Datum Stvaranja: 13 Kolovoz 2021
Datum Ažuriranja: 22 Lipanj 2024
Anonim
5 KINDS OF CREATE IN SQL
Video: 5 KINDS OF CREATE IN SQL

Sadržaj

Definicija - Što znači SQL ubrizgavanje?

SQL injekcija je računalni napad u kojem se zlonamjerni kod ugrađuje u loše dizajniranu aplikaciju, a zatim prosljeđuje u rezervnu bazu podataka. Zlonamjerni podaci zatim proizvode rezultate upita ili baze podataka koje se nikada ne bi smjele izvršiti.


Uvod u Microsoft Azure i Microsoft Cloud | Kroz ovaj vodič naučit ćete o čemu se radi računalstvo u oblaku i kako vam Microsoft Azure može pomoći da preselite i pokrenete svoje poslovanje iz oblaka.

Techopedia objašnjava SQL ubrizgavanje

Pogledajmo primjer napada SQL ubrizgavanja:

Aplikacija u kojoj posluju banke sadrži izbornike koji se mogu koristiti za traženje pojedinosti o klijentima pomoću točaka podataka, kao što je korisnički socijalni broj. U pozadini aplikacija poziva SQL upit koji se izvodi u bazi podataka prosljeđujući unesene vrijednosti pretraživanja na sljedeći način:

ODABERITE ime klijenta, telefon, adresu, datum_izbora_GDJE GDJE social_sec_no = 23425

U ovom primjeru skripte, korisnik unosi vrijednost 23425 u prozoru izbornika aplikacije, zahtijevajući od korisnika da unese broj socijalnog osiguranja. Zatim, koristeći vrijednost koju je dao korisnik, SQL upit pokreće u bazi podataka.

Korisnik sa SQL znanjem može razumjeti aplikaciju i, umjesto da unese jedinstvenu vrijednost kada se zatraži broj socijalnog osiguranja, upiše niz "23425 ili 1 = 1", koji se prosljeđuje u bazu podataka na sljedeći način:

ODABIR_ime klijenta, telefon, adresa, datum_izbora_GDJE GDJE social_sec_no = 23425 ili 1 = 1

Odredba WHERE važna je jer uvodi ranjivost. U bazi podataka uvjet 1 = 1 je uvijek istinit, a budući da je upit naveden za vraćanje detalja klijentovog broja socijalnog osiguranja (23425) ili GDJE 1 = 1, upit će vratiti sve retke u tablici, koji nisu bili izvorna namjera.

Gornji primjer napada ubrizgavanja SQL-a je jednostavan, ali pokazuje kako iskorištavanje ranjivosti za izigravanje aplikacije za pokretanje upita ili naredbe baze podataka za podupiranje.

Napadi SQL ubrizgavanja mogu se ublažiti osiguravanjem pravilnog dizajna aplikacija, posebno u modulima koji zahtijevaju korisničko unošenje za pokretanje upita ili naredbi baze podataka. U gornjem primjeru, aplikacija se može promijeniti tako da prihvaća samo jednu numeričku vrijednost.