Bienvenido a Tecnohackers

Tecnohackers » Hacking y Seguridad » Hacking
 » 

Que es un ataque de inyeccion SQL



Autor Tema: Que es un ataque de inyeccion SQL  (Leído 1142 veces)

silencio

  • Visitante
Que es un ataque de inyeccion SQL
« en: Enero 17, 2009, 03:49:25 pm »
Una vulnerabilidad de inyección SQL puede producirse cuando un mal escritas programa utiliza el usuario ha facilitado datos en una base de datos de consulta sin la validación de la entrada. Esto es más a menudo se encuentran en las páginas web con contenido dinámico. Hay algunos excelentes tutoriales y descriptivo de artículos sobre este tema, así como la vulnerabilidad muchos anuncios para diferentes aplicaciones de la plena revelación de sitios web.

Un ejemplo sencillo de inyección 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 código HTML, se puede deducir que el más fácil (y peores) para el guión "process_login.php" a trabajar sería que para crear y ejecutar una base de datos de consulta que tiene este aspecto:

  "SELECT id DE DONDE inicios de sesión de usuario = '$ nombre de usuario y contraseña =' $ password '";

En esas circunstancias, si las variables "$ nombre de usuario" y "contraseña $" son tomadas directamente de la entrada del usuario, el script de conexión puede ser fácilmente engañado haciéndole creer que una contraseña válida ha sido proporcionada por jugar con la sintaxis de la sentencia SQL. Supongamos la siguiente cadena se presentaron como la contraseña:

  'O''='

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

  "SELECT id DE DONDE inicios de sesión 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 SQL

Los métodos más comunes para prevenir este tipo de inyección de SQL vunerability son para comprobar la entrada del usuario de caracteres peligrosos como sencillas y la utilización de declaraciones preparadas, que la base de datos decirle exactamente lo que debe esperar antes de que el usuario ha facilitado datos se pasa a ella.

Sencillo no ??
« Última modificación: Abril 28, 2010, 02:01:51 am por alma_triste »

Tags:
Tags:

 


SMF 2.0.19 | SMF © 2016, Simple Machines
Paginas Afiliadas
Twitter - FaceBook - Daraxblog
Designed by Smf Personal