In che modo tipo di contenuto: l'immagine può portare al file JAR infetto?

3

Symantec ha pubblicato una notizia su una campagna di malvertising rivolta agli utenti di IE con exploit Java (vulnerabilità già note). Ad un certo punto spiegano che gli utenti vengono reindirizzati su domini dannosi usando il seguente GET:

Come possiamo vedere, l'utente sta cercando Ilns0.gif e accetta la codifica GZIP.

Il server risponde con Content-Type: image/gif e fornisce un file .jar infetto.

Come è possibile utilizzare un tipo errato e ottenere comunque il file caricato dall'utente? Perché i browser non ti avvisano quando un server pubblica un contenuto inaspettato?

    
posta ack__ 10.02.2013 - 11:13
fonte

2 risposte

2

How is it possible to use an incorrect type and still get the file loaded by the user?

Se fosse il browser che lo carica, verrebbe effettivamente gestito come GIF e, in generale, fallirà. (Esistono problemi di sniffing dei contenuti nei browser Web, ma non quelli che si attivano qui.)

Tuttavia, quando istanziate un'applet con l'attributo <applet src> / <object data> che punta su di esso, il plug-in Java carica l'indirizzo come una classe / jar dell'applet, indipendentemente dal Content-Type con cui lo servite.

(Questo non è un buon comportamento, ma è un sintomo del continuo malessere MIME - i browser / plug-in non vogliono essere severi riguardo alla richiesta di tipi di media corretti perché così tanti server sono impostati male, ma UA è permissivo sui tipi di media significa che gli amministratori pigri non devono configurare i loro server giusto ...)

Questo è particolarmente pernicioso dato che la versione bizarro di Java della Same Origin Policy opera principalmente sull'origine della classe / jar piuttosto che sulla pagina del documento contenente - se riesci a mettere un file applet sul server di qualcuno puoi, in una certa misura , cross-site-script in esso. Tuttavia non sembra che l'attacco ne abbia fatto uso: gli exploit funzionano indipendentemente dall'origine.

Spesso è difficile individuarlo perché è (/ era) possibile creare un file poliglotta che sia GIF e JAR validi contemporaneamente ("GIFAR"). Tuttavia, ancora una volta, questo non è stato fatto qui. L'utente malintenzionato può scegliere qualsiasi nome / tipo di file che preferiscono per un'applet e, a quanto pare, hanno pensato che una GIF sarebbe stata meno evidente di una JAR.

    
risposta data 11.02.2013 - 01:17
fonte
3

C'è un problema di lunga data (funzionalità?) con IE che fa Content Sniffing invece di rispettare solo il Content-Type; questo esiste ancora in gran parte per ragioni storiche. Hai la possibilità di disabilitarlo - Rilevamento tipo MIME fa riferimento a Controlli delle funzioni - se vuoi rendere più sicura la tua macchina. È ancora marginalmente utile poiché una comune "correzione" lato server per tipi di file binari sconosciuti è sul server come application / octet-stream, il che potrebbe far sì che le cose non funzionino come previsto (ad esempio, i video possono essere scaricati anziché riprodotti).

È probabile che questo particolare exploit usi solo una gif perché oltrepasserà gli scanner di e-mail, ecc., più facilmente incorporati in un tag in un'email.

    
risposta data 10.02.2013 - 11:23
fonte

Leggi altre domande sui tag