Inyección de SQL

--Originally published at CRACK THE NETWORK

La inyección de SQL es una especie de vulnerabilidad compleja y normalmente la aplicación de una corrección diferirá en el tipo de aplicación que está desarrollando. SQL es uno de los más fáciles de contrarrestar. A continuación, se presentan algunas medidas que pueden utilizarse contra ataques de inyección de SQL.

Como se ha dicho anteriormente, los ataques de inyección SQL se producen debido a la entrada no desinfectada. Así que nuestro primer paso sería desinfectar el input. En la aplicación se escapa explícitamente a las comillas simples y al apóstrofe, no valida la entrada del tipo de expresión, por ejemplo, 1 + 1, z + y etc. Al desinfectar la entrada por el método anterior, podrá detener la inyección SQL ya que la aplicación no aceptará entradas maliciosas.

La segunda solución es utilizar una API que no permita la inyección de SQL. Hoy en día casi todas las herramientas de desarrollo de aplicaciones web tienen una API que maneja consultas SQL por su cuenta, es mejor utilizarlas, ya que no sólo reducen la sobrecarga general de desarrollo, sino también proporcionar protección contra la inyección de SQL.

En el nivel del sistema, la aplicación se ejecuta con privilegios inferiores, con los que se puede ejecutar sin problemas. No es necesario conceder a la aplicación más privilegios de los requeridos. Puede tardar poco tiempo para aplicar esto, pero al hacerlo no permitirá a los hackers recuperar datos confidenciales de su base de datos, ya que los privilegios serán limitados.

Por último eliminar los paquetes innecesarios de la base de datos de su sistema, ya que no sólo tomar la memoria extra y espacio en disco, pero si alguno de ellos es vulnerable su base de datos lo será también.

Dependiendo de qué tipo de aplicación está desarrollando algunas o más modificaciones pueden

necesarias durante el desarrollo para evitar la inyección. Pero a nivel práctico, las contramedidas pueden ser aplicadas a cualquier tipo de aplicación web para garantizar la protección contra la inyección de SQL.

Recursos  adicionales:

https://www.owasp.org/index.php/SQL_Injection

https://www.veracode.com/security/sql-injection