Tecnología

Inicio

Cómo utilizar Sp_executesql para la Lucha contra las inyecciones SQL

procedimiento almacenado sp_executesql el servidor SQL ejecuta sentencias SQL dinámicas que se crean en una aplicación. inyección SQL es un truco que permite a los usuarios acceder a su base de datos SQL. Utilice los procedimientos de almacenado sp_executesql junto con la función "Reemplazar" para reemplazar el carácter de comilla simple, que se utiliza para ejecutar código malicioso en el servidor.

Instrucciones

1 Haga clic en el Windows botón "Inicio" y seleccione "Todos los programas". Haga clic en "SQL Server", a continuación, haga clic en "SQL Server Management Studio" para abrir el software.

2 Escriba su nombre de usuario y la contraseña en la pantalla de inicio de sesión del servidor SQL para acceder a las bases de datos del servidor. Haga clic en una base de datos que desea consultar y seleccionar "Nueva consulta" para abrir el editor.

3 Crear una consulta SQL dinámico. El código siguiente crea una consulta dinámica que contiene citas dentro de la declaración:

@query declarar como nvarchar (500)
establecer @query = 'nombre de selección de clientes, donde signupdate =' '1/1/2011' ''

En este ejemplo, un hacker podría insertar citas en la cláusula "where", lo que provoca errores en la consulta SQL.

4 Utilice el procedimiento almacenado sp_executesql con la función Reemplazar para evitar la inyección de SQL. Escriba el siguiente código en el editor:

Sp_executesql Reemplazar (@query, '\' ',' '' ')

El código reemplaza cada comilla simple con una cita doble, lo que elimina la posibilidad de que la inyección de SQL.

5 Presione la tecla F5 para ejecutar la instrucción. El SQL ejecuta y los resultados de la pantalla de consulta en el panel de resultados.