[HACK] Inyección de SQL en Microsoft Access

BrainSCAN brainscan at hackuma.com
Thu Jun 19 16:47:37 CEST 2003


Buenas.

Hay muchos documentos de inyección de código en formularios que trabajan
contra servidores Microsoft SQL Server pero la verdad es que lo más común es
que te topes con que el formulario trabaja contra una base de datos
Microsoft Access que una empresita sí se puede permitir en comparación con
una licencia SQL Server.

Claro está que Access no da tanto juego como SQL Server... No, si esto es
como tó, que cuanto más cutre pues más seguro, en cuanto empiezas a darle
posibilidades al usuario empiezas a provocar bugs XDDDDD si esto no pasaría
si en vez de emplear ASP fuera HTML XDDDD

En fin, que en unas pruebecillas me he topado con una de estas bases de
datos Access y estoy viendo cómo acceder. Se trata de una página de
autentificación que te pide el nombre de usuario y la contraseña. Si
introduces estos datos incorrectamente, te los vuelve a pedir, si aciertas
te pasa a una página privada.

Tooootal, que meto como usuario:
a' or user like '%a%' or user='b

Vale, me he saltado la página de petición de login mediante inyección de
código SQL siguiendo los consejos del doc de Hispahack ;-)

Ahora el problema estriba en que la página privada no me muestra los datos
que debería mostrar ¿porqué? Yo deduzco que se debe a que he saltado la
autentificación, vale, pero no con un usuario correcto por lo que la página
privada debe tener algo en plan "si el usuario pertenece al grupo X entonces
mostrar Y, si pertenece al grupo A mostrar B" y como me he conlado sin
usuario pues no me muestra una mierda.

¿Solución? Añadir un usuario con el que poder autentificarme. Para ello
primero tengo que adivinar el nombre de la tabla, cosa que resuelvo con:

a' OR user = (SELECT user FROM users WHERE user = 'a') OR user='c

Bueno, ya estamos más cerca. Ahora queda el añadir al usuario... Pero aquí
me quedo, porque si intento:

a' OR user = (INSERT INTO users (user,pass) VALUES ('hack','hack')) OR
user='c

Me devuelve:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta
operador) en la expresión de consulta

¿Alguna idea?

Lo mismo estoy tratando un imposible, porque el Access está limitadillo,
pero no me creo que no se pueda concatenar algo ahí.

Desde ya, muchas gracias.





More information about the hacking mailing list