La diferència clau entre XSS i SQL Injection és que XSS (o Cross Site Scripting) és un tipus de vulnerabilitat de seguretat informàtica que injecta codi maliciós al lloc web perquè el codi s'executi als usuaris d'aquest lloc web per part del navegador mentre que la injecció SQL és un altre mecanisme de pirateria de llocs web que afegeix codi SQL a un quadre d'entrada de formularis web per accedir als recursos o fer canvis a les dades.
Totes les organitzacions mantenen llocs web que ajuden a millorar el negoci i la rendibilitat. Una aplicació web conté el costat del client i el costat del servidor. El costat del client inclou les interfícies d'usuari per interactuar amb l'aplicació. El costat del servidor inclou la base de dades. Normalment, hi ha amenaces que afecten el bon funcionament de l'aplicació. Dos d'ells són XSS i injecció SQL.
Què és XSS?
XSS significa Cross Site Scripting i és un dels atacs de llocs web més comuns. Pot afectar aquest lloc web en particular així com els usuaris d'aquest lloc web. El llenguatge més comú per escriure codi maliciós per a l'atac XSS és JavaScript. XSS pot robar les galetes de l'usuari, canviar la configuració de l'usuari, mostrar diverses descàrregues de programari maliciós i molt més.
Figura 01: XSS
Hi ha dos tipus de XSS. Són els XSS persistents i no persistents. En XSS persistent, el codi maliciós es desa al servidor de la base de dades. Aleshores s'executarà a la pàgina normal. En XSS no persistent, el codi maliciós injectat s'enviarà al servidor mitjançant una sol·licitud HTTP. Normalment, aquests atacs es poden produir als camps de cerca.
Què és la injecció SQL?
SQL Injection és un altre mecanisme de pirateria de llocs web. Col·loca un codi maliciós a les sentències SQL mitjançant l'entrada de la pàgina web. Un lloc web conté formularis per recollir les aportacions dels usuaris. Quan demana a l'usuari una entrada com ara el nom d'usuari, l'identificador d'usuari, pot proporcionar una instrucció SQL en lloc de nom i això. Per tant, es pot executar a la base de dades del lloc web.
Figura 02: injecció SQL
A més, alguns exemples d'injeccions SQL són els següents;
Pot haver-hi una situació per cercar un usuari a través de l'identificador d'usuari. Si no hi ha cap mètode de validació d'entrada, l'usuari pot introduir una entrada incorrecta. Si introdueix l'identificador d'usuari com a 100 O 1=1, generarà una instrucció SQL de la següent manera.
seleccioneud'usuaris on userid=100 o 1=1;
Aquesta sentència SQL pot retornar tots els usuaris de la base de dades perquè 1=1 sempre és cert. Si es tractava d'un pirata informàtic i si la base de dades contenia dades confidencials, com ara contrasenyes, pot accedir als noms d'usuari i contrasenyes. Aquest és un exemple d'injecció SQL.
Quina diferència hi ha entre XSS i SQL Injection?
XSS és un tipus de vulnerabilitat de seguretat informàtica a les aplicacions web que permet als atacants injectar scripts del costat del client a les pàgines web vistes per altres usuaris. La injecció SQL és una tècnica d'injecció de codi, que ataca aplicacions basades en dades que insereixen sentències SQL en una entrada arxivada per a l'execució.
XSS injecta codi maliciós al lloc web, de manera que el codi s'executa als usuaris d'aquest lloc web pel navegador. D' altra banda, la injecció SQL afegeix codi SQL a un quadre d'entrada de formulari web per accedir als recursos o fer canvis a les dades. Aquesta és la diferència principal entre XSS i SQL Injection. El llenguatge més comú per a XSS és JavaScript, mentre que la injecció SQL utilitza SQL.
Resum – XSS vs injecció SQL
La diferència entre XSS i SQL Injection és que l'XSS injecta codi maliciós al lloc web, de manera que el codi s'executa als usuaris d'aquest lloc web pel navegador mentre que la injecció SQL afegeix codi SQL a un quadre d'entrada de formulari web per accedir als recursos o fer canvis a les dades.