martes, 11 de noviembre de 2014

(ACT 7). Inyeccion SQL

INYECCION SQL


INYECCION DE CODIGO SQL
Se conoce como Inyección SQL, indistintamente, al tipo de vulnerabilidad, al método de infiltración, al hecho de incrustar código SQL intruso y a la porción de código incrustado.

El ataque por inyección de código SQL se produce cuando no se filtra de forma adecuada la información enviada por el usuario. Un usuario malicioso podría incluir y ejecutar textos que representen nuevas sentencias SQL que el servidor no debería aceptar. Este tipo de ataque es independiente del sistema de bases de datos subyacente, ya que depende únicamente de una  inadecuada validación de los datos de entrada.

¿Qué Bases de datos son susceptible a Inyección SQL?
La más susceptible a ataques en MS SQL, dado que permite explotar el fallo más fácilmente y además posee opciones que facilitan el acceso al sistema, como la ejecución de comandos. En la lista siguiente se detalla una relación de posibilidades de explotación de cada base de datos.
MySQL
ü  Se ejecuta con privilegios de 'root' por defecto
ü  Volcado a ficheros con INTO OUTFILE
ü  La ejecución de sentencias múltiples es POCO PROBABLE, pocos módulos lo permiten



Inyección de código SQL al SII del ITSJR



Primero accesamos al sitio web del Sistema Integral de Información del Instituto Tecnológico de San Juan del Rio




Ahora insertamos una inyección SQL en donde ponemos el número de control, de la siguiente manera 00000000’ 1=’1 – y en donde va el nip ponemos cualquier cosa para provocar un error.

Después de esto nos da un error que nos muestra que aunque el sii es un poco seguro aun es fácil encontrar algunos errores, por medio de esta inyección podemos ver que la página nos devuelve lo siguiente.  El sitio del SII devuelve lo siguiente: Error en:




select 'ALU' as tipo_usuario, 'modulos/alu/' as pagina_inicial, nombre_alumno+' '+apellido_paterno+' '+apellido_materno as nombre_usuario from alumnos where no_de_control = '00000000' or 1='1 --' and nip = 000
Implicit conversion from datatype 'VARCHAR' to 'INT' is not allowed. Use the CONVERT function to run this query.
 

Podemos obtener la siguiente información del SII.

Lo primero que podemos ver es que su base de datos usa SQL.
También podemos ver que la tabla donde se registran los alumnos se llama ALU, incluso podemos ver los campos de la consulta que utiliza para validar, de ahí que con herramientas más avanzadas podemos ir y modificar estos campos para tener acceso libremente.



REFLEXION:
En esta práctica podemos ver cómo es que las bases de datos que usan SQL pueden ser susceptibles a los ataques por medio de Inyección SQL, en este caso es importante que aprendamos como es que se realicen estos ataques para que como ingeniero en sistemas computacionales podamos tomar decisiones y proteger nuestras bases de datos contra ataques. Cabe mencionar que no pude realizar ningún otro ataque ya que el SII es indispensable para el ITSJR, Además que dé para realizar ataques más profundos necesitamos herramientas especializas junto con profundos conocimientos de la materia. En si esta práctica me pareció muy educativa y vale la pena profundizar más en este tema.

BIBLIOGRAFIA:

MATERIAL PROPORCIONADO POR LA DOCENTE
SII.ITSANJUAN.EDU.MX

No hay comentarios:

Publicar un comentario