forma de atacar los datos en una base de datos a través de un firewall que lo protege. Es un método mediante el cual se modifican los parámetros de una aplicación basada en web para cambiar las sentencias de SQL que se pasan a una base de datos para devolver datos. Por ejemplo, al agregar una comilla simple (') a los parámetros, es posible hacer que se ejecute una segunda consulta con la primera.
radica en el incorrecto chequeo o filtrado de las variables utilizadas en un programa que contiene, o bien genera, código SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que puede ocurrir en cualquier lenguaje de programación que esté embebido dentro de otro.
indistintamente, al tipo de vulnerabilidad, al método de infiltración, al hecho de incrustar código SQL intruso y a la porción de código incrustado. Error Común Connection con = (acquire Connection) Statement stmt = con.createStatement(); ResultSet rset = stmt.executeQuery("SELECT * FROM usuarios WHERE nombre = '" + nombreUsuario + "';");
inyección SQL Son combinaciones que nos permiten hallar información valiosa de forma mas rápida. pages.php?id= index.php?id= category.php category.php?catid= category_list.php?id= ancillary.php?ID= archive.php?id= article.php?id=
aplicación y cambie o elimine los problemas que permiten que la inyección tenga lugar. 2. Haga cumplir el principio de privilegio mínimo en el nivel de la base de datos, de modo que, incluso si alguien puede insertar código SQL para robar datos, no pueda ver más datos de los que el desarrollador pretende a través de cualquier interfaz de aplicación normal. Principio de privilegio mínimo: El sistema debe ser capaz de acceder solo a la información y recursos que son necesarios para su legítimo propósito.
= new SqlCommand("SELECT * FROM Usuarios WHERE user=@user AND pass=@pass", con); /* Convertimos en literal estos parámetros, por lo que no podrán hacer la inyección */ cmd.Parameters.Add("@user", SqlDbType.VarChar, 32).Value = user; cmd.Parameters.Add("@pass", SqlDbType.VarChar, 64).Value = password;