Foros del Web » Programando para Internet » PHP »

Seguridad en sistema de usuarios.

Estas en el tema de Seguridad en sistema de usuarios. en el foro de PHP en Foros del Web. Buenos dias...En mi web eh creado un sistema de usuarios que quisiera saber si puede que tenga algun agujero en la seguridad que me exponga ...
  #1 (permalink)  
Antiguo 18/10/2009, 14:27
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 5 meses
Puntos: 21
Seguridad en sistema de usuarios.

Buenos dias...En mi web eh creado un sistema de usuarios que quisiera saber si puede que tenga algun agujero en la seguridad que me exponga a sql injection o lo que sea....

Primero obtengo los datos(user, pass) y los paso por htmlentities, despues la pass por md5, claro...

Y para comparar los datos, envezde hacerlo directamente en mysql lo hago asi:

Código PHP:
mysql_query("SELECT * FROM `usuarios` WHERE username='$user'"$conn); 
Osea, primero obtengo los datos de ese usuario y despues los comparo:

Código PHP:
if($pass == $pass_db){true}else{false}//Claro que este codigo solo es "descriptivo" el origianl no es exactamente asi. 
Si esta todo bien, se crea la session.

Eso, para mis ojos esta bien y no tiene ninguna falla de seguridad, pero no soy muy experimentado ni tengo mucha idea de los diferentes tipos de sql injection que se pueden hacer, por eso recurro a uds.

Es una web algo grandesita asique preferiria no tener ningun cartelito de "Owned" por ahi...

Desde ya, gracias. Y si tienen alguna otra recomendacion que crean deba saber o link o lo que sea repecto a seguridad, bienvenido sea.
  #2 (permalink)  
Antiguo 18/10/2009, 14:33
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Seguridad en sistema de usuarios.

si le pones un nombre de usuario real.. y en el pass le pones
Código SQL:
Ver original
  1. " OR 1 = 1

te deja entrar?
  #3 (permalink)  
Antiguo 18/10/2009, 14:35
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 5 meses
Puntos: 21
Respuesta: Seguridad en sistema de usuarios.

No, claro que no... el pass no se comprar en la consulta mysql, se compra por php mediante == ademas, antes de comprarlo se pasa por md5, asique por el pass no se podria poner ningun codigo "malicioso"
  #4 (permalink)  
Antiguo 18/10/2009, 14:40
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Seguridad en sistema de usuarios.

por lo personal lo encuentro bien.. osea mientras uses sql solo ingresando el user.. y lo demas lo trabajes del lado del servidor dudo que puedan entrar...

de todas formas no te aria mal quitarle los signos = con un str_replace al username.. uno nunca sabe el ingenio y ocio asen maravillas.. pero quitando el = ya repocas opciones de injection quedan asi que eso..
saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:34.