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


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits
| | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | |-+  Ayuda con esta inyeccion SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con esta inyeccion SQL  (Leído 1,252 veces)
4rkn63l

Desconectado Desconectado

Mensajes: 197



Ver Perfil
Ayuda con esta inyeccion SQL
« en: 7 Agosto 2010, 00:15 »

hola, estoy aprendiendo sobre inyecciones sql y para ello instale un servidor y todo lo demas necesario en mi pc para practicar, he hecho una pagina con el tipico login vulnerable donde se pide un nombre de usuario y una contraseña,inicialmente para facilitarme las cosas he desactivado las magic quotes en php. he conseguido injectar codigo sql y entrar con alguna expresion que evaluada de como resultado algun valor verdadero,intentar entrar como algun usuario en concreto(like)...y otras cosas.

lo que me interesa saber es lo siguiente,se que con la funcion mysql_query solo puedo ejecutar una consulta, pero en los ejemplos que he visto en el codigo injectado ejecutan mas de una,¿como lograrlo,?pues lo he intentado y obtengo el warning:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\site\login.php on line 24

parte del codigo php es este:

Código:
$query="select * from login_users where user='$user' and passwd='$passwd'";
$result=mysql_query($query,$connection);
if(!mysql_num_rows($result))
{
echo"<p>Acceso denedago</p>";
}
else
{
echo"<p>Acceso concedido</p>";
}

al ejecutar mas de una consulta separadas por ';' dichas consultas no se ejecutan.¿como podria lograr ejecutar mas de una consulta?



En línea
VirajeCR

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Ayuda con esta inyeccion SQL
« Respuesta #1 en: 7 Agosto 2010, 00:35 »

No me queda muy claro tu duda. Sería muy bueno que des a conocer cuales son las inyecciones que estás utilizando para darnos una idea de por donde va el problema. Por otro lado no se debe incluir ";" en las expresiones de SQL. Si no me equivoco esto se puede encontrar en la documentación de MySQL. Infiero que por hay pueda ir el problema.

Saludos.
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Ayuda con esta inyeccion SQL
« Respuesta #2 en: 7 Agosto 2010, 01:39 »

En MySQL no se pueden hacer varias queries por consulta. En MSSQL, SÍ.

La query principal es
Código
SELECT * FROM login_users WHERE USER='$user' AND passwd='$passwd'

Como veo que no estas filtrando los valores de las variables, entonces se puede realizar un simple bypassing.
Código
SELECT * FROM login_users WHERE USER=''[Aquí iSQL]--$user' and passwd='$passwd'
En línea

---
OzX


Desconectado Desconectado

Mensajes: 397


[NuKe] Team


Ver Perfil WWW
Re: Ayuda con esta inyeccion SQL
« Respuesta #3 en: 14 Agosto 2010, 01:13 »

osea en realidad, si se puede generar una segunda consulta apartir de otra, pasa en las union sql injection


select * from noticias where id = 12 and+(select+user+from+mysql.user)=1
Si se fijan realmente se puede ejecutar 2 consultas.
el detalle esta en que tipo de funcion se pueda ejecutar, update,insert,etc, no puede ir predecedido de un select. es ahi el asunto. pero de que se puede generar 2 consultas como pregunta global, es un rotundi SI.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

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