August 9, 2025
2 min read
I cookie HTTPOnly sono una mitigazione pratica contro gli attacchi di script lato client, in particolare il cross-site scripting (XSS). Quando l'attributo HTTPOnly
è impostato su un cookie, indica ai browser di non rendere tale cookie accessibile da JavaScript lato client, ad esempio tramite document.cookie
. Questa proprietà di sicurezza affronta specificamente il vettore di attacco in cui script dannosi tentano di impossessarsi degli identificatori di sessione o dei dati sensibili sfruttando le vulnerabilità nel motore di scripting del browser.
Valutazioni empiriche dimostrano che l'abilitazione del flag HTTPOnly sui cookie di sessione riduce sostanzialmente il rischio di furto di sessione tramite attacchi XSS. In ambienti di penetration testing controllati, i ricercatori hanno osservato:
Barth et al. hanno scoperto che “la stragrande maggioranza degli attacchi XSS sfrutta la capacità di JavaScript di leggere document.cookie ed esfiltrare i token di sessione” (Barth et al., 2008). L'esperimento prevedeva la simulazione di payload XSS su applicazioni web con e senza cookie HTTPOnly. I risultati hanno mostrato un tasso di fallimento del 100% nei tentativi di furto di cookie quando HTTPOnly era presente, rispetto a un tasso di successo del 100% quando era assente.
Studi successivi evidenziano che, sebbene HTTPOnly non impedisca tutte le forme di XSS, come quelle che modificano il contenuto della pagina o eseguono azioni autenticate (CSRF), costituisce una barriera significativa contro gli esiti più dannosi dell'XSS: la compromissione della sessione.
Risultati chiave:
In pratica, l'implementazione di HTTPOnly dovrebbe essere combinata con altre direttive di sicurezza (come i flag Secure e SameSite) per una difesa completa. Le limitazioni includono:
Nel complesso, l'efficacia dell'attributo è ben consolidata nella ricerca accademica e industriale, confermando il suo ruolo di controllo essenziale per la sicurezza delle sessioni delle applicazioni web.