inyección de SQL es una forma de ataque a la red que consiste en código de " inyección " en una base de datos en un intento de forzar el programa de consulta de base de datos para devolver un error y dar el inyector de alguna información acerca de tanto la base de datos y la información dentro de ella. Se puede realizar desde cualquier página web que actúa como un portal a una base de datos inseguro y no desinfectar sus consultas. Instrucciones
1
Asegúrese de especificar el tipo de entrada requerido al escribir el código de consulta SQL . La mayoría de los entornos de desarrollo permiten especificar " cadena" , "entero " o "date" . Por ejemplo, el URL
http://mysite.com/listauthordetails.aspx?user_id=1234
es interpretada por la base de datos como
SELECT 'nombre , apellidos FROM usuarios DONDE user_id = '1234 '
Esta consulta puede ser reescrita para
ID Dim como String = Request.QueryString ( "ID" )
cmd As new SqlCommand ( " SELECT user_id FROM usuarios WHERE user_id = @ user_id " )
Dim param = new SqlParameter ( " user_id " , SqlDbType.VarChar )
param.Value = ID
cmd. Parameters.Add ( param)
Este código impide que la información adicional se añade al final de la consulta SQL , y sólo pasa el resultado de la solicitud user_id .
2
Utilice el archivo. htaccess para bloquear las solicitudes ilegítimas antes de que pasen a la base de datos, utilizando el comando RewriteCond (). Por ejemplo , para bloquear un script tratando de modificar una variable de petición , utilice la línea " RewriteCond % { QUERY_STRING } _REQUEST ( =