La disconnessione da un sito Web garantisce che nessuno possa incidere i cookie?

16

Se faccio clic sul link di signout di un sito Web, significa che non è possibile per qualcuno dirottare il mio cookie e accedere con esso?

Mentre sono loggato, è possibile per qualcuno che ha accesso al disco rigido del mio computer semplicemente prendere il cookie e quindi accedere?

Qualcosa come l'autenticazione a 2 fattori di Gmail aiuta in uno degli scenari sopra descritti?

    
posta codecompleting 12.08.2011 - 17:17
fonte

3 risposte

13

La risposta qui dipende da come il sito web gestisce la gestione dei cookie. Se stanno facendo le cose correttamente, seguendo il link di signout dovrebbe invalidare il cookie sul lato server e anche rimuoverlo dal client.

Pertanto, se un utente malintenzionato ha avuto accesso al tuo PC, non dovrebbe essere in grado di utilizzare male il cookie, anche se potrebbe accedervi.

Se hai ancora effettuato l'accesso e lasci il PC, senza chiudere il browser, è probabile che un utente malintenzionato possa prelevare il cookie utilizzando semplicemente il browser. Se solo hanno accesso al tuo disco rigido (ad esempio, su una rete), potrebbero essere in grado di accedere al file cookie, ma potrebbe essere un po 'più difficile da sfruttare.

L'autenticazione a due fattori può aiutare nello scenario in cui qualcuno ruba un cookie mentre si è connessi, ma mentre la sessione è in corso è probabile che ci saranno cookie sulla macchina che forniranno l'accesso.

La scommessa più sicura è quella di assicurarti di uscire da tutte le sessioni prima di lasciare il tuo computer e di chiudere il browser (molti cookie di sessione vengono rimossi dal client quando il browser è chiuso)

    
risposta data 12.08.2011 - 17:45
fonte
10

In generale, ciò dipende in realtà da come il server implementa l'autenticazione basata su cookie.

  • Se il server utilizza il cookie come chiave di indicizzazione nel database del server, che il server utilizza per recuperare tutte le informazioni sulla sessione, quindi "uscire" significa avere il server dimenticare tutto sulla sessione - a quel punto il cookie diventa inutile per l'aggressore, dal momento che non fa più riferimento a nessuna sessione esistente. In tal caso, la disconnessione ti protegge dal dirottamento dei cookie.

  • Se il server memorizza le informazioni sulla sessione all'interno del cookie stesso (preferibilmente crittografato e con un MAC in modo che gli utenti non possano "inventare" o modificare le sessioni da soli), quindi "disconnettersi" significa che il browser dimentica il cookie. Non cambia nulla lato server; se un utente malintenzionato ha ricevuto una copia del cookie prima della cancellazione (o se la cancellazione non è stata molto efficace, ad esempio l'autore dell'attacco ha copiato il disco rigido e ha recuperato il file cancellato), può utilizzarlo per rientrare nella sessione.

Come per afferrare il cookie dal disco rigido, di solito è semplice. Ad esempio, sulla mia macchina, sembra che il mio browser Web (chromium) memorizzi localmente i cookie come un SQLite database, ovvero un singolo file con nessuna protezione di alcun genere.

L'autenticazione è qualcosa che viene fatto quando viene creata la sessione; quindi è per lo più irrilevante per la discussione in corso. Sebbene un server possa aggiungere alcune protezioni aggiuntive come il rifiuto di un cookie se non proviene dallo stesso indirizzo IP rispetto a prima (ciò potrebbe in parte contrastare alcuni malintenzionati ma potrebbe anche essere un inconveniente per gli utenti onesti che hanno un IP dinamico).

    
risposta data 12.08.2011 - 17:45
fonte
2

All'interno di un'applicazione Web che interrompe i risultati nella data di scadenza dei cookie impostata in passato, ciò comporta la sua rimozione da parte del browser. Quindi in sostanza la disconnessione cancella il cookie.

Tutto dipende da come il sito utilizza i cookie. Un buon sistema semplicemente memorizzerà un token di autenticazione che viene quindi verificato rispetto al sistema per garantirne la validità. Il token di autenticazione può prendere aspetti come il browser degli utenti e l'indirizzo IP in un account in modo che anche se un utente malintenzionato ottenga il cookie, anch'esso dovrebbe spoofarli anche per autenticarsi con successo con esso. Un sistema cattivo potrebbe semplicemente memorizzare la password degli utenti nel cookie sia in testo normale sia come un hash in entrambi i casi sarebbe molto cattivo e significherebbe che un utente malintenzionato potrebbe utilizzare i dettagli.

    
risposta data 12.08.2011 - 17:45
fonte

Leggi altre domande sui tag