XSS per rubare i cookie ... non più?

6

L'altro giorno ho trovato una vulnerabilità XSS in un sito web che un amico mi ha detto di Pentest. Era una pagina di una scuola che stava gestendo, quindi la cosa importante qui sono le credenziali di accesso == COOKIES.

In questo test, ho scoperto che i cookie erano solo HTTP, quindi ho provato con un alert(document.cookie) = l'avviso era vuoto.

Sapevo che il cookie era userSession e il valore era 019845547 ma non riuscivo a ottenerlo con l'iniezione XSS o JavaScript. Conoscevo queste informazioni con gli Strumenti per sviluppatori in Google Chrome.

Ho letto che HTTP solo i cookie non sono accessibili da JavaScript per motivi di sicurezza ed è grandioso!

Ma questo significa che XSS non sta più rubando i cookie?

O forse non sono aggiornato per nuove informazioni sulla sicurezza? O c'è un'altra tecnica per rubare i cookie HTTP Only?

    
posta NathanWay 10.08.2015 - 05:29
fonte

4 risposte

3

Bene, il server HAS per impostare questo flag sul cookie, in caso contrario, gli script lato client come snippet di javascript in un attacco in stile XSS possono accedere ai contenuti dei cookie. Inoltre, potresti voler esaminare XST (Cross-Site Tracing) che credo possa aggirare questo flag e consentire il furto di cookie in alcuni scenari. Dalla pagina wiki per questo:

Tagging a cookie as HttpOnly forbids JavaScript to access it, protecting it from being sent to a third party. However, the TRACE method can be used to bypass this protection and access the cookie even in this scenario. Modern browsers now prevent TRACE requests being made via JavaScript, however, other ways of sending TRACE requests with browsers have been discovered, such as using Java.

Maggiori informazioni su questo a: link

Spero che questo aiuti.

    
risposta data 10.08.2015 - 12:46
fonte
3

But that means that XSS is not for cookie stealing anymore?

In breve, no, XSS non è usato per rubare i cookie quando questo flag è impostato.

La risposta più lunga è che i browser moderni supportano il flag HttpOnly sui cookie. Questo flag può essere impostato quando il server invia un'intestazione Set-Cookie al browser per impedire a document.cookie di ottenere il contenuto dei cookie. È una tecnica di mitigazione per il più grande problema di XSS. Per quanto ne so, con i browser aggiornati e le versioni correnti Flash, Java e altri plugin, non c'è modo di ignorare questo flag.

Tuttavia, poiché disponi di XSS, ci sono altri modi per ottenere l'accesso alle credenziali senza ottenere l'accesso ai cookie.

    
risposta data 10.08.2015 - 06:22
fonte
2

Se implementato correttamente, HttpOnly impedisce a un utente malintenzionato di rubare il cookie.

Tuttavia la funzione HttpOnly può essere aggirata in alcune versioni di alcuni browser e server web.

Dai un'occhiata:

link

link

link

Quindi, in sintesi, HttpOnly rende le cose più difficili per un utente malintenzionato, ma non ferma un hacker / pentester esperto.

    
risposta data 10.08.2015 - 09:40
fonte
-1

Quando il flag Solo HTTP è impostato su true sul lato server, non c'è altro modo per sottrarre il cookie utilizzando XSS . In browser Web moderni come Chrome non c'è modo di vedere i cookie usando xss perché i filtri xss sono abilitati per impostazione predefinita.

Se non è abilitato nel browser, c'è anche un modo per abilitare il filtro XSS nel browser da un'intestazione di risposta lato server chiamata X-XSS-Protection puoi renderlo disponibile per questa intestazione

Ma questo significa che XSS non sta più rubando i cookie?

Non possiamo più sottrarre il cookie utilizzando lo scripting lato client quando questo flag è abilitato.

    
risposta data 10.08.2015 - 07:45
fonte

Leggi altre domande sui tag