miércoles, 22 de diciembre de 2010

SQLi Exploitation [Parte II]


Ahora veremos como obtener los nombres de las tablas de una determinada base de datos. Esta información se encuentra en la tabla tables de information_shema. Las columnas que nos interesan son: table_name que contiene el nombre de la tabla y table_schema que contiene el nombre de la base de datos de dicha tabla.

Por ejemplo, para obtener las tablas de la base de datos rrpp, haríamos esta consulta:

/nts.php?id=' AND 1=0 UNION SELECT 1,2,3,4,5,table_name FROM information_schema.tables WHERE table_schema='rrpp' LIMIT 1,1/*

Usamos LIMIT para ir mostrando los resultados uno a uno y WHERE para filtrar solo los nombres de tablas de rrpp.

Y para averiguar los nombres de las columnas de una tabla especifica usaremos la tabla columns de information_schema. Las columnas que nos interesan son: table_schema, table_name y column_name; que son el nombre de la base de datos, el nombre de la tabla y el nombre de la columna respectivamente.

Averigüemos las columnas de la tabla usuarios de rrpp:

/nts.php?id=' AND 1=0 UNION SELECT 1,2,3,4,5,column_name FROM information_schema.columns WHERE table_schema='rrpp' AND table_name='usuarios' LIMIT 1,1/*

Si ya has jugado un poco con los ejemplos, quizá viste que hay un par de columnas: email y pass; en la tabla usuarios }xD Veamos como sacar los valores de estas columnas:

Base de Datos: rrpp
Tabla: usuarios
Columnas: email, pass

/nts.php?id=' AND 1=0 UNION SELECT 1,2,pass,4,5,email FROM rrpp.usuarios LIMIT 1,1/*

Y así podemos ir obteniendo uno a uno el par email y contraseña xD Pero... ¿Para que sistema son estas credenciales? Buscando con google podemos obtener esto:

site:unmsm.edu.pe rrpp


Se trataba de un sistema de bolsa de trabajo donde los alumnos se pueden registrar y consultar ofertas de empleo que publican algunas empresas usando el mismo sistema.


Y claro, como es un sistema de ofertas de empleo, nos piden que demos algunos datos de contacto.


Como el email para registrarnos en este sistema debe ser el que nos da la universidad. Seguramente que muchos han puesto también la misma contraseña. Y sí, así es:


(Esto es delicado, aunque nadie use el correo de la universidad xD)

Nuevamente nuestra información personal queda expuesta gracias a los muchos bugs que hay en los sistemas de la universidad. Esto ya había pasado antes con el SCU (Sistema de Control de Usuarios) de la biblioteca, donde incluso podíamos modificar la información que saldría impresa en los carnets de biblioteca de otros alumnos xD

http://alguienenlafisi.blogspot.com/2010/04/el-cambio-de-sexo-de-salomon.html

Creo que si la universidad, y en general cualquier otra institución, nos pide que entreguemos nuestros datos personales, debería tener un compromiso más serio en lo que a la seguridad de los mismos respecta.

Publico esto después de una semana de haberlo reportado, junto a otras vulnerabilidades, a tres diferentes direcciones de correo y de ninguna he obtenido respuesta hasta la fecha.

Un saludo.

No hay comentarios:

Publicar un comentario