Foros del Web » Programando para Internet » ASP Clásico »

¿Podría un cliente engañar a un servidor modificando su variable de sesión?

Estas en el tema de ¿Podría un cliente engañar a un servidor modificando su variable de sesión? en el foro de ASP Clásico en Foros del Web. Supongo que no. Pero ahí está la pregunta. De paso, creo que alguien podría explicar cómo funcionan las variables de sesión, cómo las asigna el ...
  #1 (permalink)  
Antiguo 06/12/2005, 21:35
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
¿Podría un cliente engañar a un servidor modificando su variable de sesión?

Supongo que no. Pero ahí está la pregunta. De paso, creo que alguien podría explicar cómo funcionan las variables de sesión, cómo las asigna el servidor y sabe que pertenecen a un cliente en concreto y no a otro.

Si dependiera de valores almacenados por el cliente, como en las cookies, tal vez pudiera modificarlos y entrar en una página saltándose la barrera de seguridad... Por otro lado, eso que he dicho ahora de las cookies: ¿es eso un método para colarse en páginas, yendo a las cookies y modificando algo, o nunca las páginas van a poner un dato realmente relevante ahí? Creo que sí es un método, si no por descuido del servidor, por descuido de otro cliente que se dejase las cookies en un ordenador que pudiera usar otro, y otro fuera y se las copiase para ponerlas en el suyo.

  #2 (permalink)  
Antiguo 06/12/2005, 21:49
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Hola un_tio:

"In a nutshell" cada vez que tu haces una visita a un sitio, el IIS genera un sessionID, este sessionID dicen los que saben que es un identificador único, ahora, el server tiene este sessionID asignado a tu sesión, y al trabajar con sesiones(que no son más que cookies volátiles), escribe una cookie temporal en el cliente, no se si con el mismo sessionID, pero algo debe tener que ver, de tal manera que pueda identificar, mediante un ticket electrónico que tu cookie temporal y el sessionID del servidor "estén casadas".

Quizás pudiera modificarlos...quizás, porque en realidad si has tratado de ver una cookie, pues es un valor encriptado, ahora en el caso de que pudiera dar con esa cookie temporal y modificarla, también necesitaría conocer algún sessionID que esté generado en el servidor en ese momento, con lo cuál pues es muy improbable que pudiera saltar esta medida de seguridad.

Por supuesto que las sesiones tienen otros problemas que ya han sido discutidos en su momento(no de seguridad) principalmente de alcance, y que son solventados de manera eficiente en .NET, así que bueno...eso es lo que puedo decir al respecto, a ver si viene otra mente más iluminada y nos dice que a lo mejor si es posible atentar contra la seguridad de la aplicación de la manera que planteas.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 08/12/2005, 11:01
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
yo uso sessionid

al principio penseque podria alterarse pero lo que hice fue contruir un validacion
recogo el ultimo valor de la ip de donde se conecta el cliente y el sessionid, mas el valor del id del usuario

idusurio = 11
sessionid = 23123123
finip= 230

luego que logueo al cliente hago un update de los dos ultimos campos en la tabla usuarios

luego redirecciono a la pagina principal del portal

y en ella puse una rutina de comparacion

si el idusuario es = al que llevo en el redirect
si el sessionid es = al que esta en la base de datos actualizada
y el finip = al que esta almacenado le muestro la pagina

si no lo redicciono al error que dice que esta tratando de acceder con credenciales no validas.

si otro entra al sitio obtienen otro session ID y al compararlo en la base antes de desplegar la pagna lo saca por no se el correcto, dado que aveces ni uno sabe cual ip tiene cada usuario en la intranet, mucho menos en internet.

pues

no me ha dado lios con nada....

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
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 20:55.