I cookie HTTPonly sono abbastanza sicuri per implementare la funzionalità "ricordami"?

1

Ho un sito web che ha una funzionalità "ricordami". Quando qualcuno fa clic su tale funzionalità, imposta la password utente e il nome utente in un cookie per ricordarlo. Ok, va bene.

Ma quel cookie è un cookie HTTPonly (nessuna preoccupazione per XSS) con il flag di sicurezza impostato. C'è abbastanza sicurezza lì dentro?

Ora che il cookie non può viaggiare nel testo normale (come per il flag sicuro), non può essere letto tramite javascript ( document.cookie ). Quindi la mia opinione è che questa implementazione è abbastanza sicura. Ma sono curioso di sapere del tuo.

    
posta Utkarsh Agrawal 01.12.2017 - 05:37
fonte

1 risposta

7

Ci sono alcuni problemi con questo schema.

  1. Non si dovrebbe mai memorizzare la password effettiva nel cookie. Archivia un token di sessione temporaneo associato all'account (sul server) e quindi puoi eliminare quel token quando l'utente si disconnette. Se stai solo memorizzando le credenziali dell'utente, non c'è modo di terminare una sessione (sul lato server) senza terminare tutte le sessioni (invalidando i crediti).
  2. Memorizzare la password nel cookie significa che chiunque abbia accesso al cookie (ad esempio, un altro utente sullo stesso computer) sarà sempre in grado di accedere come utente "ricordato" guardando tali credenziali, memorizzandole e portarli su un altro computer. I token di sessione dovrebbero essere lunghi e casuali e idealmente di breve durata.
  3. HttpOnly fa NON fornisce protezione contro XSS. Non è nemmeno vicino. Tutto ciò che fa è impedire allo script di leggere il cookie. Qualcuno può ancora prendere il controllo della sessione del browser dell'utente che ha effettuato l'accesso e intraprendere qualsiasi azione che l'utente possa intraprendere e inviare all'avversario tutto ciò che l'utente può vedere. Di fatto, esiste un intero framework di exploit che fa esplicitamente questo, permettendo in sostanza all'utente malintenzionato di controllare a distanza la sessione del browser della vittima. Hai ancora bisogno di un'attenta protezione XSS.
  4. HttpOnly non proteggerà affatto se c'è una pagina che riflette i valori del cookie dal server. Un XSS potrebbe solo leggere la risposta del server. In tutta onestà, non hai detto che esisteva una pagina del genere, ma volevo solo evidenziare quanto fosse spregevole la "protezione" di HttpOnly . Qualunque cosa tu pensi che "questo non sarebbe sicuro, tranne che per HttpOnly " non è quasi sicuro nemmeno con esso.
risposta data 01.12.2017 - 08:18
fonte

Leggi altre domande sui tag