Tecnología

Inicio

¿Cuáles son algunos ejemplos de un ataque de inyección SQL?

¿Cuáles son algunos ejemplos de un ataque de inyección SQL?


Muchos sitios Web comerciales son son vulnerables a los ataques de inyección SQL, ya que dependen del lenguaje de programación SQL para el acceso de base de datos. formularios web pasan la información a los programas del sitio, que utilizan SQL para procesar los datos. usuarios sin escrúpulos puede escribir código SQL en el formulario web y engañar al sitio en la divulgación de información confidencial o, posiblemente causando daños. Si los programadores del sitio comprobar cuidadosamente los datos entrantes, que pueden evitar que esto happenning.

Cómo SQL Injection Obras

Un formulario web contiene campos de texto en los que el usuario escribe su nombre, dirección y otra información. La página de formulario pasa los datos a una segunda página, que los procesa en una base de datos utilizando el lenguaje de consulta estructurado o SQL. Si el usuario introduce el código SQL en el campo para la dirección de, por ejemplo, el servidor de base de datos SQL procesa el código, causando problemas.
Los sitios web comerciales tienen que registrarse con un nombre de usuario y contraseña antes de que le da acceso. Sin embargo, la gente se olvide de contraseñas, por lo que la mayoría de los sitios tienen una página que le envía la contraseña por correo electrónico. Debido a la programación del sitio busca la contraseña en una instrucción SQL ante sí mensajes de correo electrónico a usted, que es un lugar propicio para un ataque de inyección SQL. Un atacante no necesita una cuenta en el sitio del ataque al trabajo; el programa Web procesa todas las solicitudes sin tener en cuenta si son legítimos o no.

Adivinanzas nombres de campo

Al escribir la cadena "abc" Y nombredecampo IS NULL; - ", Sin las comillas, en el campo ID de usuario de una forma contraseña recordatorio, un atacante puede adivinar los nombres de los campos en la tabla de usuarios registrados del sitio. Un nombre de campo incorrecto produce un mensaje de error, pero le permite probar de nuevo; un acierto te lleva a una página que indica el ID de usuario no es válida, sino que también le permite probar de nuevo. Un número de cuenta legítima se convierte en parte de un comando SQL como el siguiente: "SELECT contraseña desde user_table DONDE account_id = 'jimmy123'" Uso de la cadena se ha mencionado anteriormente, el comando se convierte en la siguiente: "SELECT contraseña desde user_table DONDE account_id = 'abc' Y nombredecampo IS NULL; - ' "Ambos son sentencias SQL válidos; el segundo, revela información que el propietario del sitio no tenía intención de compartir.

Adivinanzas nombres de tabla

Un hacker puede utilizar la técnica anterior de adivinar otra información valiosa, como los nombres de las tablas de la base de datos del sitio. En este caso, un enfoque consiste en escribir la siguiente cadena en un campo de texto: "abc" Y (SELECT COUNT (*) del nombre de tabla) = 1; -. "Mediante la sustitución de diferentes nombres para" nombre de tabla ", que finalmente va a adivinar correctamente algunos de los nombres de tabla de la base de datos. Al igual que antes, las conjeturas incorrectas simplemente dan como resultado un mensaje de error inocuo; si usted ve ningún error, has adivinado correctamente.

Modificación de bases de datos

Una base de datos mal diseñada da a todos sus usuarios el mismo nivel de seguridad, permitiendo a los usuarios web para hacer cualquier cosa, incluso modificar la base de datos en sí. Un tipo de base de datos, modificación de ataque utiliza la misma estrategia básica como antes, escribiendo código SQL en un cuadro de texto Web. Una vez que un atacante ha adivinado correctamente algunos de los nombres de tabla de la base de datos, entonces puede probar la siguiente cadena de texto: "abc"; DROP TABLE nombretabla; - "El servidor SQL interpretará esto como una orden para encontrar un ID de usuario seguido de un segundo comando para eliminar una tabla de la base de datos. Si esto no funciona, el sitio puede darle un mensaje de error. De lo contrario, se le indicará que tiene un ID de usuario no válido, y se habrá eliminado la tabla.