Tecnología

Inicio

Cómo proteger SQL desde Declaraciones Inyectar

Cómo proteger SQL desde Declaraciones Inyectar


lenguaje de consulta estructurado (SQL) es un método de gestión de los datos almacenados en una base de datos. SQL y lenguajes relacionados a menudo se utilizan para gestionar las suscripciones de sitios web y de comercio electrónico. Una inyección SQL es un método de uso de una consulta SQL con formato incorrecto en un sitio web para obtener el control de la base de datos SQL o el acceso a la información protegida, tales como listas de usuarios, contraseñas y direcciones de correo electrónico. La alteración de sus prácticas de programación puede proteger a su sitio web desde los ataques de inyección SQL.

Instrucciones

1 Eligió una biblioteca de SQL o un marco que no permite que las consultas no verificados responsable de las inyecciones SQL. Enumeración debilidad común recomienda capas de persistencia, como Hibernate y Enterprise Java Beans, que protegen de la inyección de SQL cuando se instala y utiliza correctamente.

2 consultas proceso de SQL utilizando procedimientos almacenados, las consultas que sólo aceptan un parámetro u otras declaraciones preparadas en lugar de consultas de composición abierta. Evitar dinámicamente la construcción de cadenas de consulta SQL.

3 Evitar la ejecución de código con privilegios excesivos. No todo el código debe ser dirigido por una cuenta con privilegios de administrador o root. Esto mitigará la gravedad de cualquier consulta SQL comprometida.

4 Repita control de seguridad y validación de entrada tanto en el lado del cliente y del lado del servidor. Los atacantes pueden modificar los valores en tránsito o en el ordenador del usuario después de la validación de entrada se ha realizado.

5 Escapar caracteres especiales de las consultas SQL. Estos podrían incluir caracteres especiales, tales como cotizaciones o los operadores, tales como el signo de igualdad y espacios en blanco.

6 Asume toda la entrada es malicioso o mal formado. En lugar de utilizar una lista negra de cadenas inaceptables para las consultas SQL, utilice una lista blanca de consultas, conocidas también con formato.

7 Limitar la entrada a un conjunto de valores de entrada fijos, como en el caso de una lista de países o estados, cuando sea posible.

8 Limitar los mensajes de error que sólo la información mínima. Los atacantes pueden utilizar mensajes de error detallados para obtener más información acerca de su sistema. Registrar el error explícita a un registro del servidor en lugar de mostrar al usuario.

9 Utilice un firewall para defenderse de algunos ataques de inyección SQL. Utilizar cortafuegos de buena reputación que se configuran y mantienen adecuadamente. Un servidor de seguridad no niega la necesidad de una programación adecuada y no protegerá de todas las vulnerabilidades.