HTTP è un protocollo stateless. L'accesso a un sito Web implica la necessità di mantenere uno stato condiviso tra client e server. Di solito questo viene realizzato utilizzando un ID di sessione condivisa che viene comunemente memorizzato sul lato client come cookie e sul lato server in un database. Se l'utente malintenzionato può utilizzare questo ID di sessione, può eseguire azioni come utente autorizzato.
Cross Site Request Forgery (CSRF) è un attacco comune per l'uso improprio di questo cookie anche se l'autore dell'attacco non può leggere il valore del cookie. Questo attacco è ad esempio utilizzato per dirottare e riconfigurare i router in modo che possano essere utilizzati per man in mezzo tutte le connessioni a Internet.
Altri attacchi rubano l'ID della sessione, ad esempio usando Cross Site Scripting (XSS) . Ovviamente l'ID di sessione può anche essere rubato hackerando il server o il suo database per esempio usando Iniezione SQL o semplicemente indovinando il ID sessione corretto in caso di ID sessione facilmente prevedibili.
Mentre tutti questi attacchi possono essere eseguiti quando l'utente è connesso a un logout implementato correttamente, l'ID di sessione viene invalidato e non può più essere utilizzato in modo improprio. In questo modo la superficie d'attacco è ridotta.