Esistono due principali modelli di attacco che possono essere esplorati da un utente malintenzionato armato di una vulnerabilità XSS che interessa un'applicazione che utilizza i cookie HTTPOnly
.
Prima di tutto un utente malintenzionato può utilizzare un metodo di sfruttamento simile al worm Sammy . In questo modello di attacco il payload XSS utilizza un XMLHttpRequest
per leggere un token CSRF ed eseguire un'azione come se fosse la vittima. Le azioni comuni sarebbero, aggiungendo un nuovo utente amministrativo, cambiando la password (o indirizzo e-mail per eseguire una reimpostazione della password) o persino trasferire fondi. Qualsiasi azione che la sessione autenticata può eseguire, dovresti essere in grado di eseguire JavaScript leggendo i token CSRF.
Il secondo attacco sta sfruttando un dominio fidato. Diciamo che il target è https://sometrustedbank.com
. Che HTTPS appaia piuttosto brillante agli utenti informati, ma un utente malintenzionato può modificare qualsiasi contenuto in questa pagina assegnando document.body.innerHTML
a qualsiasi valore. Un utente malintenzionato può condurre un attacco di phishing molto convincente in cui le vittime indifese vengono indirizzate a https://sometrustedbank.com
e gli viene richiesto di divulgare informazioni personali (e segreti oscuri e profondi). In questo caso il contenuto è re e un utente non sa che questo contenuto proviene da un utente malintenzionato.
In breve; abilita HTTPOnly
cookie, ma sappi che questa funzione di sicurezza non è mai rientrata per fermare XSS.