Quanto è brutto rendere HTML dai cookie?

1

Recentemente ho lavorato con un framework PHP e ho visto che stava mettendo html in un cookie per leggerlo da javascript (non chiedermi il motivo).

Ho provato a modificare l'html nel cookie inserendo un'istruzione alert('bingo') e ha funzionato. Questo comportamento può essere utilizzato come canale principale per XSS supponendo che non siano presenti altre vulnerabilità del lato server?

In altre parole: come può un utente malintenzionato utilizzare questo comportamento, poiché questo è l'unico vettore conosciuto?

    
posta Mir 08.09.2017 - 15:55
fonte

2 risposte

5

Supponendo che non ci siano altre vulnerabilità nel sito Web non credo che questo sia sfruttabile, in quanto per poterlo sfruttare l'hacker dovrebbe prima essere in grado di controllare i contenuti di quel determinato cookie. (Il che richiederebbe quasi certamente l'uso di qualche altra vulnerabilità.)

Tuttavia, se ci sono altre vulnerabilità (siano esse client o lato server) nel sito, questa caratteristica insolita potrebbe essere utilizzata per peggiorare sensibilmente l'impatto di tali vulnerabilità.

Ad esempio, se una qualsiasi pagina del sito viene mai caricata su HTTP, un utente malintenzionato MITM sarebbe in grado di creare un attacco XSS semi-persistente impostando il valore di questo cookie, eventualmente utilizzando l'attacco per rubare i dati che normalmente accessibile solo da una pagina HTTPS più sicura (come i cookie con il set di flag di sicurezza).

O se il sito è vulnerabile a un attacco Lancio di cookie , lo stesso attacco (che sarebbe normalmente utile solo per la fissazione della sessione e simili) ti aprirà anche a un attacco XSS in piena regola contro gli utenti interessati.

Nel complesso, anche se questa pratica potrebbe non essere terribile, non lo consiglierei ancora, soprattutto dal momento che ci sono modi migliori per ottenere contenuti HTML dal server su una pagina che non ti espone a nuovi minacce.

    
risposta data 08.09.2017 - 21:32
fonte
2

Non difendo la pratica, ma è improbabile che sia un vettore XSS. Affinché ciò avvenga, un utente malintenzionato dovrebbe essere in grado di controllare il contenuto del cookie della vittima. Nell'XSS riflesso, questo viene solitamente effettuato inserendo codice dannoso in un parametro URL e facendo clic sulla vittima. Non esiste un modo simile per impostare i cookie della vittima senza codice già in esecuzione nel contesto di destinazione. Allo stesso modo, affinché questo sia un vettore per XSS persistente, l'utente malintenzionato dovrebbe essere in grado di impostare alcuni stati nel server che finirebbero nel cookie della vittima. Questo non è impossibile ma sarebbe un uso insolito di un cookie.

    
risposta data 08.09.2017 - 18:27
fonte

Leggi altre domande sui tag