Cross-site scripting e l'uso di cookie solo http?

14

Sono stato uno sviluppatore e ora sto cercando di guardare XSS dal punto di vista di uno sviluppatore. Stavo pensando a un caso particolare di XSS riflesso. Supponiamo di avere un sito Web vulnerabile e se un utente malintenzionato può indurre gli utenti a fare clic su un collegamento malevolo, può ottenere i token di sessione utilizzando document.cookie

Mi chiedevo se il sito web iniziasse ad usare http-only cookies (suppongo che ciò renderà impossibile accedere ai token di sessione mediante l'uso di JavaScript. Manco un punto?) ma rimane ancora vulnerabile allo script iniezione in tal caso quali sono le opzioni rimaste per l'attaccante? Quali sono gli altri modi per sfruttare questa vulnerabilità?

    
posta Shurmajee 25.07.2013 - 07:08
fonte

1 risposta

14

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.

    
risposta data 25.07.2013 - 07:23
fonte

Leggi altre domande sui tag