hacks de inyección SQL se ejecutan en servidores que no cuentan con la programación segura es necesario. Estos suelen realizarse en los servidores donde el código de la página Web que utiliza SQL en línea , lo que significa que la consulta se encuentra en el código de la página Web y no se encuentra en un procedimiento almacenado. Saber cómo funciona un corte de inyección SQL ayuda a propietarios de sitios web protegen los datos del cliente y asegurar las páginas web. El Formulario Variable
El primer paso en la comprensión de cómo se crea un ataque de inyección SQL es mediante la reproducción del problema. Los ataques de inyección SQL se realizan a través de variables de formulario en una página HTML. Crear el formulario permite al webmaster para simular y probar la seguridad del servidor web. A continuación se muestra un ejemplo de un objeto de formulario utilizado para crear un ataque de inyección SQL .
Aunque se trata de una simple caja de texto forma , es todo lo que se necesita para llevar a cabo una inyección SQL . The Hacker código
Cuando se hacen las sentencias SQL , la aplicación genera código SQL que se envía a la base de datos . Cuando una cadena se envía a la base de datos, el código es algo así como el texto a
select * from myTable donde nombre = ' myVariableFromtheForm '
La marca de verificación indica el final del código SQL , y es aquí donde los piratas informáticos de destino . Cuando se utiliza un cuadro de texto como la creada en la Sección 1 para generar una cadena , un hacker puede entrar en algo así como lo siguiente en el cuadro de texto :
' OR 1 = 1 ; - Opiniones
podría parecer un galimatías , pero en realidad se inyecta código en la base de datos que se ejecuta el servidor. Cuando " myVariableFromtheForm " se sustituye por el código anterior, la declaración dirigida por el servidor en realidad se parece a lo siguiente:
select * from myTable donde nombre = ' ' OR 1 = 1 - ' < p > el "-" es el código de comentarios para el servidor SQL , así que la última señal de terminación se ignora. La cadena está vacía y el hacker inyecta el código " 1 = 1 " en el comunicado. Lo que hace es volver cada fila de la tabla para el hacker . Así es como una persona sin escrúpulos roba información privada de los servidores de bases de datos. Solucionar el problema
La mejor manera de solucionar el problema en el código que es susceptible de un corte de inyección SQL es utilizar la función "Reemplazar" en todos los casos en que el texto se introduce de los usuarios. Por ejemplo , en el código ASP, la siguiente línea de código reemplaza la marca sola garrapata con dos. Cuando SQL Server se ejecuta código con dos marcas de graduación , se los lee como un literal y la cadena no se termina
String.Replace ( "'", "''" ) .
el código anterior reemplaza todas las instancias de una única marca de la señal con dos, la eliminación de la vulnerabilidad de un ataque de inyección SQL .