Gli oggetti memorizzati in una sessione HttpSessionState sono archiviati sul lato server. È possibile accedervi solo dal codice dell'applicazione, non dal client (il browser) o dall'utente che utilizza il browser come potrebbe consentire un meccanismo di memorizzazione lato client (come i cookie).
Quindi, non esiste un modo diretto per un utente di manomettere o modificare il valore degli oggetti di sessione. L'unico modo in cui un utente malintenzionato può abusare dello stato di sessione è quello di rubare un'intera sessione, che è nota come attacco di dirottamento di sessione, o obbligare un utente vittima a utilizzare una sessione specifica, nota come attacco di fissazione della sessione. Ciò si ottiene prendendo il valore di un cookie che è inviato al browser che identifica la sessione a cui un utente è associato, in modo che possa essere acceduto alle richieste successive. Se un utente malintenzionato può rubare un cookie / id di sessione di un altro utente o forzare un altro uso per utilizzare l'id di sessione precedentemente stabilito, (spesso facendo affidamento su attacchi di cross-site scripting separati), l'hacker o impersonare la vittima, o ottenere la vittima a compiere un'azione per conto dell'attaccante.
Anche in questi casi, tuttavia, l'autore dell'attacco è limitato al trasferimento della sessione nella sua interezza. Lui o lei non ha ancora alcun controllo sui valori delle proprietà memorizzate sul lato server per la sessione.