Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: Shell Root en 1 Junio 2011, 06:43 am



Título: Bypass + iSQL
Publicado por: Shell Root en 1 Junio 2011, 06:43 am
Supongamos que tenemos el siguiente código
Código
  1. $resultado = mysql_query("SELECT * FROM usuarios WHERE login='$_POST[user]'");
Este sería fácil, porque no tiene filtro para limpiar la variable. Así que sería algo como esto,
Código
  1. SELECT * FROM usuarios WHERE login='' OR 1=1--'

Pero sí primero se realiza el SELECT y se guarda el pass en un array y después es comparado con la variable enviada, así,
Código
  1. $password = md5($_POST['pass']);
  2. if($array["pass"] == $password ){

Como se podría bypassear?


Título: Re: Bypass + iSQL
Publicado por: .mokk. en 1 Junio 2011, 12:06 pm
Pues bypassear ahi de esa forma no, pero si esa consulta en el post empezamos a mejorar ?
' union select 1,2,3, y asi hasta conseguir la DB luego de ello podria conseguir las tablas y de ahi pues conseguir usuarios y ya podria ingresar.


Título: Re: Bypass + iSQL
Publicado por: Shell Root en 1 Junio 2011, 17:22 pm
mmm, no me sirve... Y como se supone que printearía los datos?


Título: Re: Bypass + iSQL
Publicado por: .mokk. en 1 Junio 2011, 17:56 pm
http://foro.elhacker.net/nivel_web/sql_injection_mediante_post-t265775.0.html

Asi ahi te muestra como, ya que de hecho esta misma pagina [ http://colaboranet.com/nctol/ ] usa ese metodo que tu mencionas hehe, ahi lo se porque logre entrar y obtener toda su DB.


Título: Re: Bypass + iSQL
Publicado por: ~ Yoya ~ en 1 Junio 2011, 20:18 pm
Sip entiendo, debes tener en cuenta que para que una SQL sea vulnerable, es necesario que use datos enviado por el usuario para poder usarlo y realizar la consulta.

Si es ese el caso, aunque no seria muy usual ya que seria mas lento hacerlo de esa forma y tampoco es la tipica forma de comprobar el password de la DB con el password ingresado. Lo mas probable es que utilize un nombre de usuario para hacer el select a un registro especifico y hay pudieras manejar la consulta SQL.

Dependiendo como maneje la consulta, si imprime algun campo pudieras extraer datos de la BD sin necesidad de poder hacerle un bypass al login.


Título: Re: Bypass + iSQL
Publicado por: .mokk. en 1 Junio 2011, 21:01 pm
Sip entiendo, debes tener en cuenta que para que una SQL sea vulnerable, es necesario que use datos enviado por el usuario para poder usarlo y realizar la consulta.

Si es ese el caso, aunque no seria muy usual ya que seria mas lento hacerlo de esa forma y tampoco es la tipica forma de comprobar el password de la DB con el password ingresado. Lo mas probable es que utilize un nombre de usuario para hacer el select a un registro especifico y hay pudieras manejar la consulta SQL.

Dependiendo como maneje la consulta, si imprime algun campo pudieras extraer datos de la BD sin necesidad de poder hacerle un bypass al login.

Exacto, yo por eso intento usar siempre @mysql_blabla , asi si da algun error en la consulta el usuario no se daria cuenta lo que complicaria el asunto al intentar hacer algun ataque.