elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 11:12  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  [?]Explicacion y un caso...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [?]Explicacion y un caso...  (Leído 2,142 veces)
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
[?]Explicacion y un caso...
« en: 9 Febrero 2006, 16:44 »

Pues me gustaría haber si me podrías explicar de esta sentencia (de una inyection SQL):
Citar
s%') UNION SELECT 0,user_id,username,user_password,0,0,0,0,0,0 FROM nuke_users/*
Para que vale:
Citar
s%') que es??, una especie de comilla??
Y me podríais dar un ejemplo donde esto fuera vulnerable, una sentencia donde se podría cumplir esto, no hace falta una tabla tan grande, pero un ejemplo de eso.
Saludos  ::)
En línea

Ertai
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.026


Ralph Wiggum


Ver Perfil
Re: [?]Explicacion y un caso...
« Respuesta #1 en: 9 Febrero 2006, 18:29 »

No tendrías todas estas preguntas si hubieras leído un manual de SQL y no de SQL Inyection.

Pero bueno...

el UNION sirve para encadenar dos querys diferentes que tienen el mismo numero de campos.

Pero claro, primero hemos de acabar bien la primera query.

Si, por ejemplo, le metemos el código malicioso a la variable $id que va directa a la query...

Código:
SELECT campo1, campo2, campo3, campo4, campo5, campo6, campo7, campo8, campo9, campo10 FROM tabla WHERE (visible = '1' AND id='$id')

Si inyectamos la query maliciosa, queda así:

Código:
SELECT campo1, campo2, campo3, campo4, campo5, campo6, campo7, campo8, campo9, campo10 FROM tabla WHERE (visible = '1' AND id='s%') UNION SELECT 0,user_id,username,user_password,0,0,0,0,0,0 FROM nuke_users/*')

Lo ves ahora?

Le mete el ') para poder cerrar tanto la comilla como el parentesis. La query también podría NO tener parentésis, entonces no se le pone. Por eso es importante saber como esta construida una sentencia, en el caso de PHP-Nuke tenemos el código.

Fijaros tambien en que ambas querys tienen el mísmo número de campos: 10

Lo dicho, primero leer, leer, leer, aprender y luego intentar inyecciones.

Saludos.
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: [?]Explicacion y un caso...
« Respuesta #2 en: 9 Febrero 2006, 19:52 »

Ertai, muchas gracias   :shocked: me ha quedado clarisimo, y tambien me imagino que a cualquiera que lo lea.
Sigo teniendo una duda..., eso valdría si las magic quotes estan activadas??
Me imagino que no..., que habria que usar el truco de Sirdarckcat
Saludos  ::)
P.D aunque esto lo posteaba mas que otra cosa, por si s%') sirviera para saltar las magic quotes o algo por el estilo, porque las magic quotes dan mucha guerra...  :-(

En línea

Ertai
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.026


Ralph Wiggum


Ver Perfil
Re: [?]Explicacion y un caso...
« Respuesta #3 en: 10 Febrero 2006, 10:14 »

Rey11,

La vulnerabilidad es para algo que tenga que ver con alguna acción de 'Buscar'?
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: [?]Explicacion y un caso...
« Respuesta #4 en: 11 Febrero 2006, 17:11 »

Cogi ese fallo de uno que tenia en el nuke-et de truzone al buscar y creía que ese se podría usar en otros casos que una variable estuviera en contacto con la bd.
Saludos  :)
En línea

Ertai
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.026


Ralph Wiggum


Ver Perfil
Re: [?]Explicacion y un caso...
« Respuesta #5 en: 12 Febrero 2006, 15:57 »

Cogi ese fallo de uno que tenia en el nuke-et de truzone al buscar y creía que ese se podría usar en otros casos que una variable estuviera en contacto con la bd.
Saludos  :)


De allí viene que se use el %

Se utiliza en SQL para 'Buscar'

Saludos.
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: [?]Explicacion y un caso...
« Respuesta #6 en: 12 Febrero 2006, 16:45 »

Ya, de la utilizacion de LIKE para que sea algo literal (creo):
Citar
Select usuario From usuarios LIKE '%loquebuscas%'
Si, se de esta sentencia y de su uso porque estoy pensando en poner un buscador en mi sistema  ;D
Saludos  ::)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines