Ključna razlika između XSS i SQL injekcije je u tome što je XSS (ili Cross Site Scripting) vrsta ranjivosti računarske sigurnosti koja ubacuje zlonamjerni kod na web stranicu tako da se kod korisnika te web stranice pokreće od strane pretraživač dok je SQL injekcija još jedan mehanizam za hakiranje web stranice koji dodaje SQL kod u polje za unos web obrasca da bi se dobio pristup resursima ili da bi se izvršile promjene u podacima.
Svaka organizacija održava web stranice koje pomažu u poboljšanju poslovanja i profitabilnosti. Web aplikacija sadrži stranu klijenta i stranu servera. Klijentska strana uključuje korisnička sučelja za interakciju s aplikacijom. Serverska strana uključuje bazu podataka. Obično postoje prijetnje koje utiču na pravilno funkcioniranje aplikacije. Dvije od njih su XSS i SQL injekcija.
Šta je XSS?
XSS je skraćenica od Cross Site Scripting, i to je jedan od najčešćih napada na web stranice. To može utjecati na tu određenu web stranicu, kao i na korisnike te web stranice. Najčešći jezik za pisanje zlonamjernog koda za XSS napad je JavaScript. XSS može ukrasti korisničke kolačiće, promijeniti korisničke postavke, prikazati razne preuzimanja zlonamjernog softvera i još mnogo toga.
Slika 01: XSS
Postoje dvije vrste XSS-a. Oni su uporni i nepostojani XSS. U trajnom XSS-u, zlonamjerni kod se sprema na server u bazi podataka. Tada će se pokrenuti na normalnoj stranici. U nepostojanom XSS-u, ubačeni zlonamjerni kod će biti poslan serveru putem HTTP zahtjeva. Obično se ovi napadi mogu dogoditi u poljima za pretraživanje.
Šta je SQL injekcija?
SQL Injection je još jedan mehanizam za hakiranje web stranice. On postavlja zlonamjerni kod u SQL naredbe putem unosa web stranice. Web stranica sadrži obrasce za prikupljanje korisničkih unosa. Kada od korisnika traži unos kao što je korisničko ime, userid, on može dati SQL izraz umjesto imena i njega. Dakle, može raditi na bazi podataka web stranice.
Slika 02: SQL injekcija
Dalje, nekoliko primjera SQL injekcija su sljedeći;
Može doći do situacije da se korisnik pretraži kroz korisnički ID. Ako ne postoji metoda provjere valjanosti unosa, korisnik može unijeti pogrešan unos. Ako unese id korisnika kao 100 ILI 1=1, on će generirati SQL naredbu na sljedeći način.
odaberiteod korisnika gdje je userid=100 ili 1=1;
Ovaj SQL izraz može vratiti sve korisnike u bazi podataka jer je 1=1 uvijek istina. Ako je ovo bio haker i ako je baza podataka sadržavala povjerljive podatke kao što su lozinke, onda on može dobiti pristup korisničkim imenima i lozinkama. To je primjer za SQL injekciju.
Koja je razlika između XSS i SQL injekcije?
XSS je vrsta ranjivosti računarske sigurnosti u web aplikacijama koja omogućava napadačima da ubace skripte na strani klijenta u web stranice koje gledaju drugi korisnici. SQL injekcija je tehnika ubrizgavanja koda, koja napada aplikacije vođene podacima koje ubacuju SQL naredbe u unos podnesenu za izvršenje.
XSS ubacuje zlonamjerni kod na web stranicu, tako da se taj kod pokreće kod korisnika te web stranice putem pretraživača. S druge strane, SQL injekcija dodaje SQL kod u okvir za unos web obrasca da bi se dobio pristup resursima ili da bi se izvršile promjene u podacima. Ovo je glavna razlika između XSS i SQL injekcije. Najčešći jezik za XSS je JavaScript dok SQL injekcija koristi SQL.
Sažetak – XSS vs SQL Injection
Razlika između XSS-a i SQL injekcije je u tome što XSS ubacuje zlonamjerni kod na web stranicu, tako da se kod korisnika te web stranice izvršava od strane pretraživača, dok SQL injekcija dodaje SQL kod u polje za unos web obrasca u dobiti pristup resursima ili izvršiti izmjene podataka.