Dallimi kryesor midis XSS dhe SQL Injection është se XSS (ose Cross Site Scripting) është një lloj dobësie e sigurisë kompjuterike që injekton kodin keqdashës në faqen e internetit në mënyrë që kodi të ekzekutohet në përdoruesit e asaj faqe interneti nga shfletuesi ndërsa injeksioni SQL është një mekanizëm tjetër i hakerimit të faqes në internet që shton kodin SQL në kutinë e hyrjes së formularit në ueb për të fituar akses te burimet ose për të bërë ndryshime në të dhëna.
Çdo organizatë mirëmban faqe interneti, të cilat ndihmojnë në përmirësimin e biznesit dhe përfitimit. Një aplikacion në internet përmban anën e klientit dhe anën e serverit. Ana e klientit përfshin ndërfaqet e përdoruesit për të bashkëvepruar me aplikacionin. Ana e serverit përfshin bazën e të dhënave. Zakonisht, ka kërcënime që ndikojnë në funksionimin e duhur të aplikacionit. Dy prej tyre janë injeksioni XSS dhe SQL.
Çfarë është XSS?
XSS do të thotë "Skriptimi i faqeve të kryqëzuara" dhe është një nga sulmet më të zakonshme në uebsajt. Mund të ndikojë në atë uebsajt të veçantë si dhe përdoruesit e asaj faqe interneti. Gjuha më e zakonshme për të shkruar kodin keqdashës për sulmin XSS është JavaScript. XSS mund të vjedhë kukit e përdoruesit, të ndryshojë cilësimet e përdoruesit, të shfaqë shkarkime të ndryshme malware dhe shumë të tjera.
Figura 01: XSS
Ka dy lloje të XSS. Ato janë XSS e vazhdueshme dhe jo e vazhdueshme. Në XSS të vazhdueshme, kodi me qëllim të keq ruhet në server në bazën e të dhënave. Pastaj do të funksionojë në faqen normale. Në XSS jo të vazhdueshme, kodi me qëllim të keq i injektuar do të dërgohet në server përmes një kërkese HTTP. Zakonisht, këto sulme mund të ndodhin në fushat e kërkimit.
Çfarë është SQL Injection?
SQL Injection është një tjetër mekanizëm i hakerimit të faqeve në internet. Ai vendos një kod me qëllim të keq në deklaratat SQL nëpërmjet hyrjes së faqes në internet. Një faqe interneti përmban forma për të mbledhur të dhënat e përdoruesve. Kur i kërkon përdoruesit të dhëna të tilla si emri i përdoruesit, userid, ai mund të japë një deklaratë SQL në vend të emrit dhe atij. Pra, mund të funksionojë në bazën e të dhënave të faqes në internet.
Figura 02: Injeksion SQL
Për më tepër, disa shembuj të injektimeve SQL janë si më poshtë;
Mund të ketë një situatë për të kërkuar një përdorues përmes userid-it. Nëse nuk ka metodë të vërtetimit të hyrjes, përdoruesi mund të futë një hyrje të gabuar. Nëse ai fut userid-in si 100 OSE 1=1, ai do të gjenerojë një deklaratë SQL si më poshtë.
selectnga përdoruesit ku userid=100 ose 1=1;
Kjo deklaratë SQL mund të kthejë të gjithë përdoruesit në bazën e të dhënave sepse 1=1 është gjithmonë e vërtetë. Nëse ky ishte një haker dhe nëse baza e të dhënave përmbante të dhëna konfidenciale si fjalëkalime, atëherë ai mund të ketë akses në emrat e përdoruesve dhe fjalëkalimet. Ky është një shembull për SQL Injection.
Cili është ndryshimi midis injektimit XSS dhe SQL?
XSS është një lloj cenueshmërie e sigurisë kompjuterike në aplikacionet në internet që u mundëson sulmuesve të injektojnë skriptet nga ana e klientit në faqet e internetit të shikuara nga përdorues të tjerë. Injektimi SQL është një teknikë e injektimit të kodit, që sulmon aplikacionet e drejtuara nga të dhënat që futin deklaratat SQL në një hyrje të paraqitur për ekzekutim.
XSS injekton kodin keqdashës në faqen e internetit, në mënyrë që kodi të ekzekutohet në përdoruesit e asaj faqe interneti nga shfletuesi. Nga ana tjetër, injektimi SQL shton kodin SQL në një kuti hyrëse të formularit në ueb për të fituar akses në burime ose për të bërë ndryshime në të dhëna. Ky është ndryshimi kryesor midis XSS dhe SQL Injection. Gjuha më e zakonshme për XSS është JavaScript ndërsa injektimi SQL përdor SQL.
Përmbledhje – XSS vs SQL Injection
Dallimi midis XSS dhe SQL Injection është se XSS injekton kodin keqdashës në faqen e internetit, kështu që kodi ekzekutohet në përdoruesit e asaj faqe interneti nga shfletuesi ndërsa injeksioni SQL shton kodin SQL në një kuti hyrëse të formës së internetit në fitoni akses në burime ose për të bërë ndryshime në të dhëna.