Se un token di sessione è memorizzato in un cookie che ha impostato httponly, esiste un modo in cui una vulnerabilità XSS può consentire a un utente malintenzionato di rubare un token di sessione degli utenti?
Se un token di sessione è memorizzato in un cookie che ha impostato httponly, esiste un modo in cui una vulnerabilità XSS può consentire a un utente malintenzionato di rubare un token di sessione degli utenti?
In generale, se httponly
è impostato sul suo token, allora un attacco XSS non dovrebbe essere in grado di recuperare un token di sessione. Modulo passato bug nei browser e plug-in e errata configurazione del server (ad es. Risposta a TRACE HTTP).
Ma non vale molto. Puoi impedire a XSS di impossessarsi del token, ma un attacco XSS ha ancora il pieno controllo della sessione sulla macchina dell'utente: può costringere l'utente a fare praticamente qualsiasi cosa sul sito o falsificare l'interfaccia dell'utente al sito ( ad es. per phish per le credenziali del sito). Vedi BeEF per un esempio di ciò che un utente malintenzionato può ottenere con una sessione compromessa: hai praticamente perso già.
L'impostazione di httponly
nel migliore dei casi rende la vita leggermente più semplice per l'utente malintenzionato in quanto può accedere alla sessione dalla propria macchina nel proprio tempo, piuttosto che essere limitata dalla quantità di tempo in cui l'utente mantiene aperta la finestra del browser. Vale la pena avere httponly
dove possibile, ma è una leggera attenuazione che non ti protegge magicamente dagli effetti di XSS.
Se fatto correttamente, HttpOnly impedisce a un utente malintenzionato di rubare il cookie. Tuttavia, possono ancora eseguire richieste web arbitrarie impersonando gli utenti vittima ed estrarre le risposte. Ad esempio, BEEF ha un modulo per farlo.
In altre parole, HttpOnly rende le cose più difficili per un utente malintenzionato, ma non ferma un abile aggressore.
Inoltre, come altri hanno sottolineato, ci sono vari difetti che possono consentire a un utente malintenzionato di estrarre un cookie HttpOnly.
In conclusione: tutto l'XSS è potenzialmente serio e devi correggere i difetti XSS.
La funzionalità HttpOnly può essere aggirata in alcune versioni di alcuni browser e server web.
Altri dati (natexim )
Altri dati (google)
Gli attacchi XSS sono così flessibili che possono ancora essere eseguiti se, ad esempio, la funzione HttpOnly è stata utilizzata per nascondere il cookie da JS ed ETC.
Altri possibili scenari includono l'esclusione dei token CSRF, l'utilizzo dei punti deboli del browser, lo spoofing pagine web interne, ecc.
Sì. Soprattutto. L'intestazione impedisce "Cookie Stealing" che è un modo semplice per uno script di dirottare la tua sessione.
Dipende anche se il tuo browser supporta l'intestazione HTTPonly. In caso contrario, viene ignorata e la funzionalità che crea non si verifica mai.
Ecco un link che spiega un po 'di più l'intestazione. Contiene anche una tabella che mostra quali browser lo supportano: link
se HTTPOnly non è impostato nell'intestazione, sarai vuln. a XSS, solo quanto il tuo browser supporta questo flag nell'intestazione. Il grande elemento da capire è che dipende principalmente dalla capacità del browser Web di impostare questo flag.
Leggi altre domande sui tag cookies web-application xss