Eventuali vulnerabilità causate dalla riduzione del parser XML del browser?

3

Ho trovato un modo per forzare un sito a restituire XML di tipo contenuto al browser dell'utente anche se il contenuto è HTML. Il browser quindi interpreta questo sito come XML e genera un errore poiché l'HTML contiene Javascript che non decodifica in XML valido. Diversi livelli di informazione vengono restituiti dai principali browser, ma FF mi mostra:

XML Parsing Error: not well-formed Location: http://www.example.com/return_xml

Line Number 30, Column 1: var y= (a && a.b ...

Il secondo simbolo & interrompe il parser XML. Che tipo di attacchi potrebbero essere eseguiti da questo (se esiste)?

Il mio primo pensiero è stato XXE, ma credo che i browser lo disabilitino per impostazione predefinita. Sembra una non vulnerabilità?

    
posta iso123 28.11.2016 - 18:58
fonte

1 risposta

2

Di per sé questa non è una vulnerabilità. Se il rendering XML (valido o meno) fosse in qualche modo pericoloso, i browser non lo consentirebbero in primo luogo.

Non essere in grado di renderlo valido XML esclude XSS, in quanto il contenuto dovrebbe essere sottoposto a rendering affinché funzioni. Inoltre, se ci fosse una vulnerabilità XSS nella pagina, sarebbe probabilmente sfruttabile anche quando si esegue il rendering come HTML.

C'è un attacco che viene in mente, però: Download di file riflessi. Se sei in grado di modificare sia la fine del percorso dell'URL che parti del contenuto del documento, potresti riuscire a creare un collegamento che causa il download della pagina con un'estensione del nome di file "errata" come .bat o %codice%. L'esecuzione locale di questo file eseguirà uno script dannoso sulla macchina delle vittime, ad es. per scaricare malware.

Questo non funzionerebbe in tutti i browser; Safari e IE8 sembrano essere gli unici che scaricare file XML invece di tentare di renderli. E anche in questo caso l'attacco si basa sulla possibilità che l'autore dell'attacco sia in grado di iniettare abbastanza contenuti per rendere il documento uno script eseguibile valido in una lingua diversa da HTML o XML.

C'è un buon libro bianco su RFD (di Oren Hafif) qui , inclusi alcuni dettagli su diversi comportamenti del browser e potenziali modalità di sfruttamento.

    
risposta data 28.11.2016 - 19:57
fonte

Leggi altre domande sui tag