So how bad this kind of attack can be, even though this doesn't have access to the current DOM elements?
È peggio degli esempi piuttosto limitati nell'articolo collegato: in Firefox e Opera, data:
URI do operano nello stesso contesto di sicurezza del documento che li include, quindi puoi accedere agli elementi DOM nel tuo dominio. Questo non succede in Chrome / Safari o IE9 (che ha deliberatamente solo un supporto parziale per gli% URI di% co_de).
Nel caso in cui è possibile includere documenti HTML, questo offre tutti gli stessi rischi del tradizionale XSS. Sono principalmente frame e link, ma sono possibili altri attacchi (*).
esempio: link - crea un collegamento e un iframe, inserendo il documento HTML digitato nei dati: URL in entrambi. Il codice nel documento collegato / incorniciato riprende il contesto di sicurezza di jsbin.com, permettendogli di avvisare il codice sorgente della pagina indice jsbin.
Di conseguenza, dovresti considerare% URI di% co_de per essere altrettanto rischioso degli% URI didata:
, e disabilitarli ovunque la tua webapp consenta di inviare URI. (In realtà, la whitelisting degli schemi di URI di buona reputazione per attenersi a una selezione limitata come data:
/ javascript:
è la migliore.)
(*: Ad esempio: metti un URI http
attaccato da un utente malintenzionato in https
e l'immagine non funzionerà, ma se l'utente può essere duplicato in immagine-clic-clic-destro, carica la risorsa come HTML, risultante in XSS.)