Tipi MIME che consentono XSS nei browser moderni

5

Supponiamo che sia possibile ospitare file arbitrari su goodguys.com , che sono forniti con un tipo MIME controllato da un aggressore e X-Content-Type-Options=nosniff . Quali tipi MIME consentono XSS se usato come src di un iframe, destinazione di un collegamento o in altri modi in browser ragionevolmente moderni? Conosco almeno text/html e image/svg+xml , ma ce ne sono altri?

Modifica: voglio sottolineare che un approccio di lista nera basato su tipi MIME non è una buona idea. La motivazione per la domanda è che potrei usare risposte interessanti come argomenti convincenti a favore delle whitelist MIME.

    
posta Uncaught 20.08.2017 - 12:37
fonte

1 risposta

2

Non sarai in grado di assemblare un elenco completo di tipi MIME pericolosi.

Mentre è semplice bloccare text/html , text/xml , image/svg+xml , ecc., ci sono molti tipi MIME obsoleti o specifici del fornitore che non sono ampiamente conosciuti e potrebbero funzionare in alcuni browser. Ad esempio, il tipo MIME application/vnd.wap.xhtml+xml è inteso come XML in Firefox mentre non si attiva affatto in Chrome. Prova del concetto:

data:application/vnd.wap.xhtml+xml,<x:script xmlns:x="http://www.w3.org/1999/xhtml">alert(1)</x:script>

Inoltre, ci sono tipi MIME che non portano immediatamente a XSS ma hanno effetti collaterali. Ad esempio, un utente malintenzionato potrebbe voler indurre un utente a installare un plug-in di Firefox fornendo contenuto con un tipo MIME application/x-xpinstall . (Questo attacco avrà alcuni ostacoli aggiuntivi, ma ti viene l'idea.)

Infine, i fornitori di terze parti potrebbero anche registrare i propri tipi MIME personalizzati (pensare applet Flash con application/x-shockwave-flash , applet JAVA, lettori multimediali incorporati, ecc.) alcuni dei quali hanno la capacità di eseguire codice script. Sarà difficile tenerne traccia sulla tua lista nera.

In conclusione, se stai pianificando un'implementazione reale, dovresti autorizzare i tipi MIME innocui invece di mettere in blacklist quelli pericolosi.

    
risposta data 20.08.2017 - 18:19
fonte

Leggi altre domande sui tag