¿Es seguro usar HttpSessionState.Session para almacenar información de identificación?

3

Estoy escribiendo una aplicación web ASP.NET y me pregunto si hay algo que no sea seguro guardar en HttpSessionState.Session?

Más específicamente, ¿es una mala práctica almacenar información como UserID o permisos de seguridad en la sesión? Mi preocupación es que esta información puede ser falsificada por un usuario / hacker para otorgarse los permisos otorgados a otro usuario.

    
pregunta TruthOf42 06.07.2015 - 15:51
fuente

1 respuesta

1

Los objetos almacenados en una sesión HttpSessionState se almacenan en el lado del servidor. Solo se puede acceder a ellos mediante el código de su aplicación, no por el cliente (el navegador) o el usuario que usa el navegador como un mecanismo de almacenamiento del lado del cliente (como las cookies) podría permitir.

Por lo tanto, no hay una forma directa para que un usuario manipule o modifique el valor de los objetos de sesión. La única forma en que un usuario malintencionado puede abusar del estado de sesión sería robar una sesión completa, que se conoce como un ataque de secuestro de sesión, o forzar a un usuario víctima a usar una sesión específica, que se conoce como un ataque de fijación de sesión. Esto se logra al tomar el valor de una cookie que se envía al navegador que identifica la sesión con la que está asociado un usuario, de modo que se pueda acceder a ella en solicitudes posteriores. Si un usuario malintencionado puede robar la cookie / id de la sesión de otro usuario o forzar otro uso para usar el identificador de sesión previamente establecido por los atacantes, (a menudo confiando en ataques de scripts cruzados en el sitio diferentes), el atacante no se hace pasar por la víctima o recibe la víctima para realizar una acción en nombre del atacante.

Sin embargo, incluso en estos casos, el atacante está limitado a la transferencia de la sesión en su totalidad. Él o ella todavía no tiene control sobre los valores de las propiedades almacenadas en el lado del servidor para la sesión.

    
respondido por el Xander 19.10.2017 - 22:05
fuente

Lea otras preguntas en las etiquetas