Sql inyection?

Iniciado por Rivotril, 26 Abril 2010, 23:17 PM

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

Rivotril

Una pregunta, sobre sql inyecction,todos los tutoriales, que e leido dicen que utilize -1+union+select , para unir las tablas,pero una pregunta, para que sirve " unir las tablas " en la sql inyecction ? ...

y el -1 , es para que no muestre ningun registro en el id auto increment ?? , saludos..

Rivotril

fede_cp

Primero que nada, lee antes de postear.

te hago la tarea...

http://foro.elhacker.net/nivel_web/gran_tutorial_sobre_inyecciones_sql_en_mysql-t247535.0.html


ahi tenes un graan tutorial de mysql y si queres entender como funciona aprende el lenguaje sql y te das cuenta enseguida porque el problema.


saludos
somos lo que hacemos para cambiar lo que somos

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

Duraznito

Cita de: fede_cp en 26 Abril 2010, 23:49 PM
Primero que nada, lee antes de postear.

te hago la tarea...

http://foro.elhacker.net/nivel_web/gran_tutorial_sobre_inyecciones_sql_en_mysql-t247535.0.html


ahi tenes un graan tutorial de mysql y si queres entender como funciona aprende el lenguaje sql y te das cuenta enseguida porque el problema.


saludos

Fede, la verdad que en vez de decirle "Primero que nada, lee antes de postear." ¿por que no mejor le respondes la pregunta?
Se supone que esto es una comunidad... :silbar:

A y por cierto, me tome el trabajo de leer "la tarea" y no responde en ningun momento a la pregunta que el hizo. ;)
Simplemente pregunto para que servia el union en una inyección sql, cosa que no fuiste capaz de responder  :huh:

La proxima ves en vez de hacerte el "elite" con los que preguntan algo, intenta ayudar  :laugh:


Saludos!  :rolleyes:

Rivotril

#3
Cita de: Duraznito en 26 Abril 2010, 23:59 PM
Cita de: fede_cp en 26 Abril 2010, 23:49 PM
Primero que nada, lee antes de postear.

te hago la tarea...

http://foro.elhacker.net/nivel_web/gran_tutorial_sobre_inyecciones_sql_en_mysql-t247535.0.html


ahi tenes un graan tutorial de mysql y si queres entender como funciona aprende el lenguaje sql y te das cuenta enseguida porque el problema.


saludos



Fede, la verdad que en vez de decirle "Primero que nada, lee antes de postear." ¿por que no mejor le respondes la pregunta?
Se supone que esto es una comunidad... :silbar:

A y por cierto, me tome el trabajo de leer "la tarea" y no responde en ningun momento a la pregunta que el hizo. ;)
Simplemente pregunto para que servia el union en una inyección sql, cosa que no fuiste capaz de responder  :huh:

La proxima ves en vez de hacerte el "elite" con los que preguntan algo, intenta ayudar  :laugh:


Saludos!  :rolleyes:

No te gastes,esperemos la respuesta de uno que sepá , ya estoy podrido de ver usuarios que quieren aumentar el rango de users..

fede_cp

#4
sabes sql?

ademas, intento ayudar, pero si pones sql injection en el buscador del foro o de google, buscando vas a encontrar la respuesta...

http://foro.elhacker.net/tutoriales_documentacion/tutorial_de_inyeccion_sql_sql_injection-t98448.0.html

fijate en el ejemplo 2

ahi tenes mas precizo, no es que siempre respondo asi, ando medio cruzado, perdona
somos lo que hacemos para cambiar lo que somos

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

Rivotril

Cita de: fede_cp en 27 Abril 2010, 00:14 AM
Jajaja, te di las dos opciones...


sabes sql?

ademas, intento ayudar, pero si pones sql injection en el buscador del foro o de google, buscando vas a encontrar la respuesta...

http://foro.elhacker.net/tutoriales_documentacion/tutorial_de_inyeccion_sql_sql_injection-t98448.0.html

ahi tenes mas precizo, no es que siempre respondo asi, ando medio cruzado, perdona

No hay problema gracias igual ..
:)

Rivotril

WHK

calmen los ánimos.

la unión de columnas se realiza para una inyección donde se realiza un select.

Por ejemplo digamos que hago un select * from usuarios whwrw nick='test' entonces me va a devolver x columnas de resultado donde x es la cantidad total de columnas de la tabla a menos que se especifique en el select las columnas necesarias.

Entonces lo que sucede es que cuando haces una inyección no puedes hacer un select sobre otro select declarando select dos veces y devolviendo resultados diferentes a la primera selección, asi que para esto usamos union para concatenar dos select, ahora, esta union para que sea válida debe devolver la misma cantidad de resultados que el rpimer celect, o sea si la tabla usuarios tiene 4 columnas entonces debes seleccionar 4 objetos "union select 1,2,3,4" ya que si hacemos union select * quedamos en las mismas que el primer select.

Digamos que la tabla usuarios dice id, nombre y pass, entonces cuando hago un select * me va a devolver 3 columnas y si hago union select nuevamente para que no se corrompa la query debo hacer devolver 3 columnas o 3 resultados y por eso se utilizan números, para poder identificar que columna es la que se imprime en pantalla, pero puedo no poner nada o poner puros unos:
union select 1,1,1,1,1,1,1,user(),1,1,1

Para que es el -1? porque si la query dice select * from users where nick='$nick' entonces para hacer la union puedes hacer un " ' union.. " pero cuando la query es un valor numérico como por ejemplo:
select * from noticias where id= $id
entonces para continuar la query e forma correcta le ponemos identificador 1 sabiendo que el 1 existe y no da error ya que si el primer select da error entonces toda la query dará error, pero como sabemos que 1 existe?, no lo sabemos y por eso le damos -1 ya que esto retornará un valor vacio válido y podemos continuar con nuestra inyección con union.

Pero todo depende de la quer, como esté construida, por eso es necesario saber lenguaje SQL para saber como realizar una inyección, talves el primer select esté encerrado en parentesis y entonces la inyección comenzará por ')union... and 1=('1

Rivotril