viernes, 9 de mayo de 2008

Ataques Sql Injection a Base de Datos

Una Base de Datos se encuentra confirmada por registros las operaciones que se puedan hacer en ella, llámese modificación, borrado o inserción de registros se realiza mediante código SQL (Structure Query Language). Entonces el Sql inyectado es la técnica de modificación de las sentencias sql lanzadas por un programa gestor de base de datos. Esta técnica te permite el acceso no autorizado a la base de datos y también te permite el control del sistema operativo.

Estos accesos no son fáciles de detectar para los administradores de red ya que las consultas a la base de datos viajan a través de la red en forma encriptada. Cada gestor de base de datos tiene su propio lenguaje Sql aunque todos son similares. Los ejemplos que pondré serán basados en SQL Server de Microsoft.

Cuando se accede a un portal el query o consulta es la siguiente:

Select username, password from users where username= ‘fulano’ and password = ‘1234’

Si los registros recogidos por el dataset (tabla de almacenamiento temporal de la consulta) son mayores a cero accedemos al aplicativo o portal web.

Pero esta consulta puede ser alterada y mostrarnos el tabla users sin conocer el usuario y contraseña valida. Debemos tener en cuenta que las comillas las introduce el programador para campos de tipo cadena. También el símbolo “--“ no se ejecutará.

Select username, password from users where username= ‘(sentencia del programador)

‘ or 1=1 -- (código en la primera caja de texto) y nos dará acceso al aplicativo, si nos damos cuenta la parte de la consulta “ and password=…” no se ejecuta por el símbolo “--“. O sino probar con ‘ or ‘1’ = ‘1 . Podemos obtener también sea cual sea la contraseña. También se puede poner cualquier cosa en el username y poner el comodin en el password.

Entonces si quieres probar esta técnica tendrías que buscar un portal o aplicativo form cuyo gestor de base de datos no este actualizado con el parche del bug sql injection para que así esta técnica sea exitosa. Para que el aprendisaje sea completo les dejo este videito.


No hay comentarios.:

Publicar un comentario