Browser diversi consentono misure di sicurezza diverse quando è impostato il flag HTTPOnly . Ad esempio Opera e Safari non impediscono a javascript di scrivere sul cookie. Tuttavia, la lettura è sempre vietata sull'ultima versione di tutti i principali browser.
Ma ancora più importante perché vuoi leggere un HTTPOnly
cookie? Se sei uno sviluppatore, disabilita semplicemente il flag e assicurati di testare il tuo codice per xss. Ti consiglio di evitare di disabilitare questo flag se possibile. IlHTTPOnly
flag e il "flag sicuro" (che forza l'invio del cookie tramite https) dovrebbero essere sempre impostati.
Se sei un aggressore , allora vuoi dirottare una sessione . Ma c'è un modo semplice per dirottare una sessione nonostante la HTTPOnly
bandiera. Puoi ancora guidare nella sessione senza conoscere l'id della sessione. Il worm MySpace Samy ha fatto proprio questo. Ha usato un XHR per leggere un CSRF token e quindi eseguire un'attività autorizzata. Pertanto, l'aggressore potrebbe fare quasi tutto ciò che l'utente connesso potrebbe fare.
Le persone hanno troppa fiducia nella HTTPOnly
bandiera, XSS può ancora essere sfruttato. È necessario impostare barriere attorno alle funzioni sensibili. Ad esempio, la password di modifica archiviata dovrebbe richiedere la password corrente. La capacità di un amministratore di creare un nuovo account dovrebbe richiedere un captcha, che è una tecnica di prevenzione CSRF che non può essere facilmente aggirata con un XHR .