Galvenā atšķirība starp XSS un SQL injekciju ir tāda, ka XSS (vai Cross Site Scripting) ir datora drošības ievainojamības veids, kas vietnē ievada ļaunprātīgu kodu, lai šis kods tiktu palaists šīs vietnes lietotājiem, izmantojot pārlūkprogrammā, savukārt SQL injekcija ir vēl viens vietņu uzlaušanas mehānisms, kas pievieno SQL kodu tīmekļa veidlapas ievades lodziņā, lai piekļūtu resursiem vai veiktu izmaiņas datos.
Katra organizācija uztur tīmekļa vietnes, kas palīdz uzlabot uzņēmējdarbību un rentabilitāti. Tīmekļa lietojumprogramma satur klienta un servera pusi. Klienta pusē ir lietotāja saskarnes, lai mijiedarbotos ar lietojumprogrammu. Servera pusē ir datu bāze. Parasti pastāv draudi, kas ietekmē lietojumprogrammas pareizu darbību. Divas no tām ir XSS un SQL injekcija.
Kas ir XSS?
XSS apzīmē Cross Site Scripting, un tas ir viens no visizplatītākajiem vietņu uzbrukumiem. Tas var ietekmēt konkrēto vietni, kā arī šīs vietnes lietotājus. Visizplatītākā valoda ļaunprātīga koda rakstīšanai XSS uzbrukumam ir JavaScript. XSS var nozagt lietotāja sīkfailus, mainīt lietotāja iestatījumus, parādīt dažādas ļaunprātīgas programmatūras lejupielādes un daudz ko citu.
Attēls 01: XSS
Ir divu veidu XSS. Tie ir noturīgie un nepastāvīgie XSS. Pastāvīgā XSS gadījumā ļaunprātīgais kods tiek saglabāts serverī datu bāzē. Pēc tam tas darbosies parastajā lapā. Nenoturīgā XSS gadījumā ievadītais ļaunprātīgais kods tiks nosūtīts serverim, izmantojot HTTP pieprasījumu. Parasti šie uzbrukumi var notikt meklēšanas laukos.
Kas ir SQL injekcija?
SQL injekcija ir vēl viens vietņu uzlaušanas mehānisms. Tas ievieto ļaunprātīgu kodu SQL priekšrakstos, izmantojot tīmekļa lapas ievadi. Vietnē ir veidlapas lietotāju ievades apkopošanai. Lūdzot lietotājam ievadīt tādus datus kā lietotājvārds, lietotāja ID, viņš var norādīt SQL priekšrakstu, nevis vārdu un to. Tātad to var palaist tīmekļa vietnes datu bāzē.
Attēls 02: SQL injekcija
Turklāt daži SQL injekciju piemēri ir šādi;
Var rasties situācija, kad lietotājs meklē, izmantojot lietotāja ID. Ja nav ievades validācijas metodes, lietotājs var ievadīt nepareizu ievadi. Ja viņš ievadīs lietotāja ID kā 100 VAI 1=1, tas ģenerēs SQL priekšrakstu šādi.
atlasītno lietotājiem, kur userid=100 vai 1=1;
Šis SQL priekšraksts var atgriezt visus datubāzes lietotājus, jo 1=1 vienmēr ir patiess. Ja tas bija hakeris un ja datu bāzē bija konfidenciāli dati, piemēram, paroles, viņš var piekļūt lietotājvārdiem un parolēm. Tas ir SQL injekcijas piemērs.
Kāda ir atšķirība starp XSS un SQL injekciju?
XSS ir sava veida datora drošības ievainojamība tīmekļa lietojumprogrammās, kas ļauj uzbrucējiem ievadīt klienta puses skriptus tīmekļa lapās, ko skatās citi lietotāji. SQL injekcija ir koda ievadīšanas paņēmiens, kas uzbrūk datu vadītām lietojumprogrammām, kas ievieto SQL priekšrakstus ierakstā, kas iesniegts izpildei.
XSS vietnei ievada ļaunprātīgu kodu, lai pārlūkprogramma šīs vietnes lietotājiem palaistu kodu. No otras puses, SQL injekcija pievieno SQL kodu tīmekļa veidlapas ievades lodziņā, lai piekļūtu resursiem vai veiktu izmaiņas datos. Šī ir galvenā atšķirība starp XSS un SQL injekciju. Visizplatītākā valoda XSS ir JavaScript, savukārt SQL injekcijas izmanto SQL.
Kopsavilkums - XSS vs SQL injekcija
Atšķirība starp XSS un SQL injekciju ir tāda, ka XSS vietnē ievada ļaunprātīgu kodu, tāpēc pārlūkprogramma šīs vietnes lietotājiem izpilda kodu, savukārt SQL injekcija pievieno SQL kodu tīmekļa veidlapas ievades lodziņā, lai piekļūt resursiem vai veikt izmaiņas datos.