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.