Diferencia entre la inyección de XSS y SQL

los diferencia clave entre XSS y SQL Injection es que el XSS (o Cross Site Scripting) es un tipo de vulnerabilidad de seguridad informática que inyecta código malicioso en el sitio web para que el código se ejecute en los usuarios de ese sitio web mediante el navegador, mientras que la inyección de SQL es otro mecanismo de piratería que agrega código SQL a formulario de entrada de formulario web para obtener acceso a los recursos o para realizar cambios en los datos.

Cada organización mantiene sitios web, que ayudan a mejorar el negocio y la rentabilidad. Una aplicación web contiene el lado del cliente y el lado del servidor. El lado del cliente incluye las interfaces de usuario para interactuar con la aplicación. El lado del servidor incluye la base de datos. Por lo general, existen amenazas que afectan el correcto funcionamiento de la aplicación. Dos de ellos son XSS y SQL de inyección..

CONTENIDO

1. Resumen y diferencia clave
2. ¿Qué es XSS?
3. ¿Qué es la inyección SQL?
4. Comparación lado a lado - Inyección XSS vs SQL en forma tabular
5. Resumen

¿Qué es XSS??

XSS significa Cross Site Scripting, y es uno de los ataques de sitios web más comunes. Puede afectar a ese sitio web en particular, así como a los usuarios de ese sitio web. El lenguaje más común para escribir código malicioso para el ataque XSS es el JavaScript. XSS puede robar las cookies del usuario, cambiar la configuración del usuario, mostrar varias descargas de malware y mucho más.

Figura 01: XSS

Hay dos tipos de XSS. Son los XSS persistentes y no persistentes. En XSS persistente, El código malicioso se guarda en el servidor en la base de datos. Entonces se ejecutará en la página normal. En XSS no persistente, el código malicioso inyectado se enviará al servidor a través de una solicitud HTTP. Por lo general, estos ataques pueden ocurrir en los campos de búsqueda..

¿Qué es la inyección SQL??

La inyección SQL es otro mecanismo de hacking de sitios web. Coloca un código malicioso en las declaraciones SQL a través de la entrada de la página web. Un sitio web contiene formularios para recoger las entradas de los usuarios. Cuando se le pide al usuario una entrada como el nombre de usuario, ID de usuario puede proporcionar una declaración SQL en lugar de nombre y nombre. Por lo tanto, se puede ejecutar en la base de datos del sitio web.

Figura 02: Inyección de SQL

Además, algunos ejemplos de inyecciones de SQL son los siguientes;

Puede haber una situación para buscar un usuario a través del ID de usuario. Si no hay un método de validación de entrada, el usuario puede ingresar una entrada incorrecta. Si ingresa el ID de usuario como 100 O 1 = 1, generará una declaración SQL de la siguiente manera.

seleccione * de los usuarios donde ID de usuario = 100 o 1 = 1;

Esta declaración SQL puede devolver a todos los usuarios en la base de datos porque 1 = 1 siempre es verdadero. Si se trataba de un pirata informático y si la base de datos contenía datos confidenciales, como contraseñas, entonces él puede obtener acceso a los nombres de usuario y las contraseñas. Ese es un ejemplo de inyección SQL..

¿Cuál es la diferencia entre la inyección XSS y SQL??

XSS es un tipo de vulnerabilidad de seguridad informática en aplicaciones web que permite a los atacantes inyectar scripts del lado del cliente en páginas web que ven otros usuarios. La inyección SQL es una técnica de inyección de código que ataca las aplicaciones controladas por datos que insertan sentencias SQL en una entrada archivada para su ejecución.

XSS inyecta código malicioso en el sitio web, por lo que el código se ejecuta en los usuarios de ese sitio web mediante el navegador. Por otro lado, la inyección SQL agrega código SQL a un cuadro de entrada de formulario web para obtener acceso a los recursos o para realizar cambios en los datos. Esta es la principal diferencia entre XSS y SQL Injection. El lenguaje más común para XSS es JavaScript, mientras que la inyección SQL usa SQL.

Resumen - Inyección XSS vs SQL

La diferencia entre XSS y SQL Injection es que XSS inyecta código malicioso en el sitio web, de modo que el navegador ejecuta el código en los usuarios de ese sitio web, mientras que la inyección SQL agrega código SQL a un cuadro de entrada de formulario web para obtener acceso a los recursos o hacer cambios a los datos.

Referencia:

1. “¿Qué es la inyección SQL? - Definición de WhatIs.com. "SearchSoftwareQuality, TechTarget. Disponible aquí 
2. "Inyección SQL". Tutoriales Web en línea de W3Schools. Disponible aquí 
3. “¿Qué es el scripting entre sitios (XSS)? - Definición de WhatIs.com. "SearchSecurity, TechTarget. Disponible aquí  

Imagen de cortesía:

1.'26327769571 'por Christiaan Colen (CC BY-SA 2.0) vía Flickr
2.'SQL injection'By Batka savemazaalai - Trabajo propio, (CC BY-SA 4.0) vía Commons Wikimedia