it-swarm.dev

L'impostazione di httponly impedisce di rubare una sessione utilizzando XSS?

Se un token di sessione è memorizzato in un cookie che ha impostato httponly, esiste un modo in cui una vulnerabilità XSS potrebbe consentire a un utente malintenzionato di rubare un token di sessione degli utenti?

18
Abe Miessler

In generale, se httponly è impostato sul suo token, un attacco XSS non dovrebbe essere in grado di recuperare un token di sessione. Modulo ha superato i bug nei browser e plug-in e la configurazione errata del server (ad es. Risposta a HTTP TRACE).

Ma non vale molto. Puoi impedire a XSS di ottenere il token, ma un attacco XSS ha ancora il pieno controllo della sessione sul computer dell'utente: può costringere l'utente a fare praticamente qualsiasi cosa sul sito o falsificare l'interfaccia dell'utente sul sito ( ad esempio phishing per le credenziali del sito). Vedi BeEF per un esempio di ciò che un attaccante può ottenere con una sessione compromessa: hai già praticamente perso.

Non impostare httponly nella migliore delle ipotesi rende la vita leggermente più facile per l'attaccante in quanto può accedere alla sessione dal proprio computer nel proprio tempo, piuttosto che essere limitato dal tempo in cui l'utente mantiene aperta la finestra del browser. Vale la pena avere httponly dove possibile, ma è una leggera mitigazione che non ti protegge magicamente dagli effetti di XSS.

19
bobince

La funzione HttpOnly può essere esclusa 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 i cookie da JS ed ETC.
Altri possibili scenari includono il bypass dei token CSRF, lo sfruttamento dei punti deboli del browser, lo spoofing delle pagine Web interne, ecc.

4
Sajjad Pourali

Se eseguito correttamente, HttpOnly impedisce a un utente malintenzionato di rubare il cookie. Tuttavia, possono comunque eseguire richieste Web arbitrarie che impersonano gli utenti della vittima ed estrarre le risposte. Ad esempio, BEEF ha un modulo per farlo.

In altre parole, HttpOnly rende le cose più difficili per un attaccante, ma non ferma un attaccante esperto.

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 dell'XSS.

4
paj28

Sì. Soprattutto. L'intestazione impedisce "rubare i cookie", che è un modo semplice per uno script di dirottare la sessione.

Dipende anche se il tuo browser supporta l'intestazione HTTPonly. In caso contrario, viene ignorato e la funzionalità che crea non accade mai.

Ecco un link che spiega un po 'di più l'intestazione. Contiene anche una tabella che mostra quali browser lo supportano: https://www.owasp.org/index.php/HttpOnly

2
DCIndieDev