¿Qué es un ataque de inyección SQL / Vulnerabilidad?

Este FAQ respuesta fue escrito por k4thryn:

Una vulnerabilidad de inyección SQL puede producirse cuando un programa mal escrito el usuario utiliza los datos proporcionados en una base de datos de consulta sin la validación de la entrada. Esto es más a menudo se encuentran en páginas web con contenido dinámico. Hay excelentes tutoriales y artículos descriptivos sobre este tema, así como muchos anuncios de vulnerabilidad para diferentes aplicaciones de la plena revelación sitios web.

Un simple ejemplo de la inyección de SQL es una forma básica en HTML de inicio de sesión en la que usted proporciona un nombre de usuario y contraseña:


	  <form method="post" action="process_login.php"> 
	  <input type="text" name="username"> 
	  <input type="password" name="password"> 
	  </ form> 

Habida cuenta de este fragmento de HTML, se puede deducir que los más fáciles (y peores) para la secuencia de comandos "process_login.php" a trabajar para él sería para construir y ejecutar una consulta de base de datos que tiene este aspecto:

	  "SELECT id 
	  De inicios de sesión 
	  Cuando el nombre de usuario = '$ nombre_usuario' 
	  y la contraseña = '$ password' "; 

En estas circunstancias, si las variables "$ usuario" y "contraseña $" son tomadas directamente de la entrada del usuario, el script de inicio de sesión puede ser fácilmente engañado a creer que una contraseña válida ha sido facilitada por jugar con la sintaxis de la sentencia SQL. Supongamos la siguiente serie de caracteres se presentaron como la contraseña:

	  'O''=' 

y nos dio "bob" como el nombre de usuario. Una vez que las variables son interpolados, por encima de la consulta se vería así:

	  "SELECT id 
	  De inicios de sesión 
	  Cuando el nombre de usuario = 'bob' 
	  y la contraseña =''o''='' "; 

Esta consulta devolverá una fila porque la cláusula final:

	  ...  =''o'' 

siempre evaluar a true (una cadena vacía es siempre igual a una cadena vacía).

Prevención de ataques de inyección de SQL

Los métodos más comunes para prevenir este tipo de inyección de SQL vunerability son el control de la entrada del usuario para caracteres peligrosos como una sola cita y el uso de preparados, la base de datos que dicen exactamente lo que debe esperar antes de que el usuario ha facilitado datos se pasa a la misma.

SQL Server Security El dominio de seguridad de SQL Server 2000 SQL Server Security destilada Oracle Manual de Seguridad: Implementar un Plan de Seguridad de sonido en su entorno Oracle
Compra estos excelentes libros sobre seguridad de SQL en Amazon.com


Comienzo de la página 5 Libre Herramientas de Red

La vulnerabilidad de Gestión for Dummies

Nuestros amigos en Qualys están ofreciendo copias gratuitas de la versión electrónica de la vulnerabilidad de Gestión for Dummies a Tech-FAQ lectores.

La vulnerabilidad de Gestión for Dummies:

  • Explica la necesidad crítica de gestión de vulnerabilidades
  • Detalles de los elementos esenciales de mejores prácticas pasos de éxito de un programa de gestión de la vulnerabilidad
  • Se esbozan las diversas soluciones de gestión de la vulnerabilidad - incluidas las ventajas y desventajas de cada
  • Destaca la galardonada solución de gestión de la vulnerabilidad QualysGuard
  • Proporciona una lista de diez puntos para eliminar las vulnerabilidades de sus recursos
Guardar ¿Qué es un ataque de inyección SQL / Vulnerabilidad?

Latest Blog Posts


Inglés Inglés Alemán Alemán Español Español Francés Francés Italiano Italiano Portugués Portugués Ruso Ruso Neerlandés Neerlandés
Griego Griego Hindi Hindi Japonés Japonés Coreano Coreano Chino Chino Chino (simplificado) Chino (simplificado) Árabe Árabe

Derecho de Autor 2009 Tech-FAQ. Todos los derechos reservados. Política de Privacidad.