Flag diversi enable different security measures when the HTTPOnly flag impostato. 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é si desidera leggere un cookie HTTPOnly
? Se sei uno sviluppatore, basta disabilitare la bandiera e assicurati di avere test your code for xss. Ti consiglio di evitare di disabilitare questo flag se possibile. Il flag HTTPOnly
e "flag sicuro" (che obbliga il cookie ad essere inviato su https) dovrebbero sempre essere impostati.
Se sei un attaccante , poi si desidera dirottare una sessione. Ma c'è un modo semplice per dirottare una sessione nonostante il flag HTTPOnly
. Puoi ancora guidare sulla sessione senza conoscere l'ID della sessione. Lo MySpace Sammy worm ha fatto proprio questo. Ha usato un XHR per leggere un token CSRF e quindi eseguire un'attività autorizzata. Pertanto, l'utente malintenzionato potrebbe eseguire quasi tutto ciò che l'utente registrato potrebbe fare.
Le persone hanno troppa fiducia nel flag HTTPOnly
, XSS può ancora essere sfruttabile. È necessario impostare le barriere attorno alle caratteristiche 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 è un CSRF prevention technique che non può essere facilmente aggirato con un XHR.
Da [wiki] (http://en.wikipedia.org/wiki/HTTP_cookie): un cookie sicuro viene utilizzato solo quando un browser visita un server tramite HTTPS. –
@Pavel Hodek Questa è la bandiera sbagliata. Il flag "sicuro" del cookie non ha nulla a che fare con il flag di sicurezza HTTPOnly. Hanno un terribile sistema di denominazione. – rook