[HACK] SQL Injection con ACCESS

Juan Perez boken__ at hotmail.com
Wed Jan 14 12:03:56 CET 2004


Hola a todos!!

He programado en ASP lo siguiente:

...
set con = server.createObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & 
server.MapPath("bd.mdb")
set rs = server.CreateObject("ADODB.Recordset")
sql = "Select * From Usuarios Where (usuario = '" & 
request.form("txtnombre") & "' AND " &_
"password = '" & request.form("txtpass") & "')"
rs.open sql,con,1,2
...

Esto evidentemente es vulnerable a una SQL injection porque no verifica las 
' simples.

Es facil validarse aciendo un simple ' OR 'a'='a.
El problema viene cuando quiero mostrar algun valor de un campo, ya que si 
intento multiplicar al campo usuario*5 me da un error de tipos no coinciden, 
pero no me dice que 'pepe' no es un integer. Es decir que no puedo usar esto 
para que me muestre el valor de los campos a partir de un error.

He visto que en SQLServer se crea una variable para luego hacer que esta 
falle y que el error vuelque el contenido de la variable.

Pero en ACCESS no se pueden crear variables, para poder volcar todo ahi.

Tampoco se puede poner ;-- para que no interprete lo que añade despues, ya 
que dice que despues de ; no debe haber nada.

¿Alguien me puede decir si en ACCESS hay algun caracter que lo tome como 
comentario como el -- en SQLServer?

¿Alguien me puede decir como declarar una variable en ACCESS?

¿Como haria para que el contenido de la variable fuera una consulta?
Es decir se podria hacer algo asi:
¿Set @variable = (SELECT usuarios+'/'+password FROM usuarios)?

Otra cuestion seria si desde Access mediante uns SQL se puede crear una 
consulta y exsportarla a un fichero de texto o incluso a otra .MDB. Ya que 
la consulta CREATE DATABASE no la acepta el access, con lo cual no puedo 
crear ningun fichero.

¿Se pueden crear ficheros desde una consulta SLQ con Access?

EN GENERAL sabeis donde puedo documentarme a cerca de como atacar una base 
de datos en ACCESS.

Muchas gracias a todos por adelantado.

Y un saludo.

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger. 
http://messenger.microsoft.com/es




More information about the hacking mailing list