Un cookie sicuro senza il flag HttpOnly è un problema?

11

Comprendo che i cookie con il flag di sicurezza devono essere trasmessi tramite una connessione HTTPS. Significa anche che questi cookie devono essere protetti dagli avversari (cookie privati). Pertanto, è importante impostare il flag HttpOnly su questo tipo di cookie privato per prevenire XSS.

Un cookie privato con il flag di sicurezza ma nessun HttpOnly segnala un problema?

Essenzialmente, penso che il flag HttpOnly debba essere aggiunto a un cookie con il flag di sicurezza.

    
posta HyunJae Nam 11.04.2017 - 06:29
fonte

4 risposte

20

Il flag secure garantisce che l'impostazione e la trasmissione di un cookie avvengano solo in modo sicuro (ad es. https). Se esiste un'opzione per http, la flag di sicurezza dovrebbe impedire la trasmissione di quel cookie. Pertanto, un flag di sicurezza mancante diventa un problema se esiste un'opzione da utilizzare o ricadere su http.

httpOnly garantisce che i linguaggi di scripting (ad esempio javascript) non saranno in grado di ottenere il valore del cookie (ad esempio attraverso document.cookie). L'unico modo per ottenerlo è attraverso le intestazioni di richiesta e risposta http. Pertanto, una percentuale mancante dihttpOnly associata alla vulnerabilità XSS è una ricetta per il token di sessione rubato.

È meglio mettere httpOnly e flag sicuro per il token di sessione. Altri cookie, dipende da quanto è sensibile e da cosa viene utilizzato.

    
risposta data 11.04.2017 - 09:12
fonte
12

Questi due flag attenuano due vettori di attacco completamente diversi.

  • Http Only - attenua gli attacchi di Cross-Site Scripting con successo.
  • Sicuro - attenua gli attacchi Man-In-The-Middle.

Uno senza l'altro significa che hai solo mitigato quel particolare vettore. Cioè, dipende da quali minacce ti stai difendendo. HttpSolo è ancora utile anche se Secure non è impostato, perché anche un Man-In-The-Middle deve essere posizionato in modo appropriato, ad esempio sulla rete locale. Un attaccante di scripting cross-site potrebbe essere localizzato ovunque su internet, quindi attenuare questo di per sé è comunque utile.

Come nota, questi flag dovrebbero essere solo misure "difensive-in-depth". Consiglierei HSTS sul flag di sicurezza e una politica di sicurezza dei contenuti rigorosa con codifica di output corretta su flag HttpOnly ogni giorno, tuttavia se il sistema è già stato creato aggiungendoli in un secondo momento può essere proibitivo.

    
risposta data 11.04.2017 - 13:33
fonte
2

HTTPonly il cookie flag funge da controllo di sicurezza per i cookie di sessione poiché impedisce gli script lato client dall'accesso al valore del cookie. Ciò è efficace nel caso in cui un utente malintenzionato riesca a iniettare script dannosi in una pagina HTML legittima. Il flag HTTPonly impedirà allo script dannoso di accedere al cookie di sessione, impedendo quindi session hijacking .

Si noti che questo flag riduce solo il rischio a un certo livello e se è presente una vulnerabilità di script injection, può ancora essere sfruttato in diversi modi, come discusso qui

    
risposta data 11.04.2017 - 09:20
fonte
1

Il flag "httponly" impedisce l'accesso a questo cookie tramite gli script lato client (JS, TS) sul browser. Se si dispone di una vulnerabilità XSS sulla pagina, l'utente malintenzionato non sarà in grado di accedere alla variabile "document.cookie".

Quindi rispondendo alla tua domanda - Sì. Questo può essere un problema.

La pagina protetta con SSL non protegge da possibili attacchi XSS e offre l'opportunità all'aggressore di ottenere questo tipo di cookie.

    
risposta data 11.04.2017 - 09:18
fonte

Leggi altre domande sui tag