Foros del Web » Programando para Internet » PHP »

Que os parece la seguridad de este metodo de login

Estas en el tema de Que os parece la seguridad de este metodo de login en el foro de PHP en Foros del Web. Escribo esto para ver si alguien ve algún agujero por algún lado que no me haya dado cuenta o si por el contrario esto podria ...
  #1 (permalink)  
Antiguo 18/07/2013, 08:04
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Que os parece la seguridad de este metodo de login

Escribo esto para ver si alguien ve algún agujero por algún lado que no me haya dado cuenta o si por el contrario esto podria ser fiable,

El escenario es, 2 sitios web distintos, las bases de datos de los dos sitios es la misma, pero el login se realiza en el primero y luego se le envia al segundo y por tanto toca en el segundo sitio inicializar una sesion con el usuario correspondiente

y el método es que he creado el formulario de login en el primero y la comprobacion se hace en este, si es válida, se generan y almacenan en la base de datos una cadena aleatoria de 50 caracteres y un timestamp y se envia al segundo sitio con una redireccion de php, a traves de la url se envian nada mas que el usuario y la cadena, en el segundo se comprueba, que el timestamp actual del servidor no exceda 10 segundos del timestamp almacenado en el momento del login y se comprueba si la cadena que se ha enviado por la url coincide con la almacenada en la base de datos, si estas dos comprobaciones son verdaderas, se hace un login directamente con el usuario enviado por la url sin comprobar correos contraseñas ni nada,

a simple vista me parece bastante seguro, ¿le veis alguna pega?
  #2 (permalink)  
Antiguo 18/07/2013, 08:14
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Que os parece la seguridad de este metodo de login

Cita:
Iniciado por juanito1712 Ver Mensaje
Escribo esto para ver si alguien ve algún agujero por algún lado que no me haya dado cuenta o si por el contrario esto podria ser fiable,

El escenario es, 2 sitios web distintos, las bases de datos de los dos sitios es la misma, pero el login se realiza en el primero y luego se le envia al segundo y por tanto toca en el segundo sitio inicializar una sesion con el usuario correspondiente

y el método es que he creado el formulario de login en el primero y la comprobacion se hace en este, si es válida, se generan y almacenan en la base de datos una cadena aleatoria de 50 caracteres y un timestamp y se envia al segundo sitio con una redireccion de php, a traves de la url se envian nada mas que el usuario y la cadena, en el segundo se comprueba, que el timestamp actual del servidor no exceda 10 segundos del timestamp almacenado en el momento del login y se comprueba si la cadena que se ha enviado por la url coincide con la almacenada en la base de datos, si estas dos comprobaciones son verdaderas, se hace un login directamente con el usuario enviado por la url sin comprobar correos contraseñas ni nada,

a simple vista me parece bastante seguro, ¿le veis alguna pega?
php tiene funciones para sanear y validar datos de registro.

¿es necesario utilizar dos servidores para aumentar la seguridad registrándose en uno para acceder al otro?

pasar datos por url = method get ¿es seguro?
  #3 (permalink)  
Antiguo 18/07/2013, 08:42
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Que os parece la seguridad de este metodo de login

realmente solo hay un servidor, y las paginas se cargan todas del mismo document root, es una especie de sitio multidominio, pero quieren que los propietarios de las paginas dependientes hagan el login desde y solo desde la princial... cosas de marca XD

y lo que me preguntas de pasar datos por url... siendo que solo paso el array aleatorio y el id de usuario, y que ese array solo será valido durante 10 segundos... deberían atraparlo y ultilizarlo durante esos 10 segundos para poder loguearse con la cuenta de otro... no vale verlo en el historial y utilizarlo ya que el timestamp no sale del sevidor y no pueden falsear ese dato, quiza get no sea seguro mandando una contraseña ¿pero asi lo es?
  #4 (permalink)  
Antiguo 18/07/2013, 09:58
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Que os parece la seguridad de este metodo de login

si muestras una cadena de ejemplo de la que envias a servidor 2 y como la compruebas seguro que podemos decirte una respuesta mas acertada, en principio se ve bien ya que aunque enviemos una cadena alterada esta debe de estar guardada en la bd para su verificacion posterior por lo tanto si todo esta bien validado/saneado/vericado creo que es seguro.

la cadena la mandas codificada/encriptada.... ? lo dicho un ejemplo del sistema estaria mucho mejor para ayudarte.

saludos.
  #5 (permalink)  
Antiguo 18/07/2013, 10:26
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Que os parece la seguridad de este metodo de login

la cadena no la mando codificada, no pensaba que eso marcara algún tipo de diferencia ya que es una cadena aleatoria que se genera y destruye al momento intentaré explicarme mejor a ver si..

login en primera web
comprobacion de usuario/contraseña
si la comprobacion es valida-> se genera y almacena un timestamp y un array y se redirige al usuario al segundo sitio asi

https://www.sitio2.com/34/oihj32b3n2...b23hyu4ip23b4p

en el segundo sitio se compara que la cadena==$_GET['cadena'] y se mira que no hayan pasado mas de 10 segundos del timestamp generado en el login, si se cumplen esos 2 parametros se vuelve a alterar la cadena se le resta al timestamp 10 para que no funcione mas y se loguea con el 34 ya en el segundo sitio
  #6 (permalink)  
Antiguo 18/07/2013, 10:31
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Que os parece la seguridad de este metodo de login

Cita:
Iniciado por juanito1712 Ver Mensaje
la cadena no la mando codificada, no pensaba que eso marcara algún tipo de diferencia ya que es una cadena aleatoria que se genera y destruye al momento intentaré explicarme mejor a ver si..

login en primera web
comprobacion de usuario/contraseña
si la comprobacion es valida-> se genera y almacena un timestamp y un array y se redirige al usuario al segundo sitio asi

https://www.sitio2.com/34/oihj32b3n2...b23hyu4ip23b4p

en el segundo sitio se compara que la cadena==$_GET['cadena'] y se mira que no hayan pasado mas de 10 segundos del timestamp generado en el login, si se cumplen esos 2 parametros se vuelve a alterar la cadena se le resta al timestamp 10 para que no funcione mas y se loguea con el 34 ya en el segundo sitio
si 34 es el id del usuario en la tabla usuarios

¿podría ser que si no escapas caracteres hicieran sql injection para devolver datos donde id=34 ?
  #7 (permalink)  
Antiguo 18/07/2013, 10:32
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Que os parece la seguridad de este metodo de login

bueno no la mando codificada en plan md5 o algo asi, pero todo va por https
  #8 (permalink)  
Antiguo 18/07/2013, 10:34
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Que os parece la seguridad de este metodo de login

Cita:
¿podría ser que si no escapas caracteres hicieran sql injection para devolver datos donde id=34 ?
uhhh fallo tonto y muy feo gracias por el aviso XD hablando de inyecciones

$consulta="select * from usuarios where id='".$_GET['id']."';

eso evita que puedan intercalar codigo?

de todos modos escaparé y luego comprobaré que solo pueda venir un entero
  #9 (permalink)  
Antiguo 18/07/2013, 10:39
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Que os parece la seguridad de este metodo de login

Cita:
Iniciado por juanito1712 Ver Mensaje
uhhh fallo tonto y muy feo gracias por el aviso XD hablando de inyecciones

$consulta="select * from usuarios where id='".$_GET['id']."';

eso evita que puedan intercalar codigo?

de todos modos escaparé y luego comprobaré que solo pueda venir un entero
creo que no lo evitaría, me parece que podrían hacer lo siguiente

Código MySQL:
Ver original
  1. null' OR id=34 OR id >0";

ante la duda mejor sanear, validar y comprobar ^^
  #10 (permalink)  
Antiguo 18/07/2013, 11:18
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Que os parece la seguridad de este metodo de login

Y el timestamp que esta dentro de la cadena aleatoria o lo concatenas para disimularlo al final o al principio o como es el proceso?

respecto al id del usuario ya te han dicho algo que podria suceder para hacer la consulta segura , te recomiendo PDO.
  #11 (permalink)  
Antiguo 18/07/2013, 11:25
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Que os parece la seguridad de este metodo de login

te pongo un ejemplo sencillisimo no digo seguro, de orientacion para codificar el id , aunque puedes encriptarlo con encriptacion de doble sentido

echo base64_encode('id'.'clave');

para recuperarla base64_decode($_GET);, despues restamos la clave y quedaria el id

aun asi aplica si o si validacion/saneamiento/verificacion

Última edición por webankenovi; 18/07/2013 a las 11:26 Razón: perdon fue por error editen ! mea culpa
  #12 (permalink)  
Antiguo 18/07/2013, 12:15
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Que os parece la seguridad de este metodo de login

el timestamp no viaja, se genera se almacena y se vuelve a obtener
  #13 (permalink)  
Antiguo 18/07/2013, 12:18
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Que os parece la seguridad de este metodo de login

okok ya entendi se genera se guarda en la bd y cuando el user llega se vuelve a obtener y comprobar con el de la bd , ok pues mira lo de la id para protegerte de inyeccion y yo creo que estaria ya todo correcto

y si un usuario legal en la redireccion tardase mas de 10 sg por lo que fuera que sucederia??
  #14 (permalink)  
Antiguo 19/07/2013, 04:01
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Que os parece la seguridad de este metodo de login

pues supongo que dará un login incorrecto...

Etiquetas: formulario, login, metodo, seguridad
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:48.