23 Giugno 2020 - Tempo di lettura: 17 minuti
Nonostante abbia investito milioni di dollari in sicurezza, Facebook segnala la continua scoperta di vulnerabilità che potrebbero esporre le informazioni dei suoi utenti. Uno specialista di valutazione delle vulnerabilità ha rivelato la scoperta di tre vulnerabilità di cross-site scripting (XSS) che mettono a rischio gli utenti di questo social network.
Secondo il rapporto, preparato da Bipin Jitiya, questi difetti su Facebook erano un po' difficili da rilevare e sfruttare e il loro rilevamento è dovuto al fatto che l'esperto stava cercando la funzionalità di caricamento dei file per poter caricare una shell sul server. Elencando le attività predefinite, l'esperto ha scoperto che l'attività uploadFile era registrata e accessibile.
Non c'era molta documentazione disponibile sul sito Web MicroStrategy su questa attività, quindi il ricercatore ha esaminato manualmente il codice sorgente. MicroStrategy Web SDK era già stato scaricato su un sistema locale, quindi è stata cercata per questa attività la classe Java.
Lo specialista della valutazione delle vulnerabilità ha decompilato ogni file jar dell'SDK usando lo strumento jd-gui e cercando la classe com.microstrategy.web.tasks.UploadFileTask, scoprendo che WebTasks.jar aveva una classe com.microstrategy.web.tasks.UploadFileTask.
La funzionalità di caricamento ed elaborazione dei file è supportata verificando innanzitutto il parametro URL FileFieldName che deve corrispondere al nome del file caricato. Quindi controllerà l'estensione del file, se risulta essere un file Excel (xlsx e xls) chiamerà la funzione parseUploadedExcelFile, mentre altri file verranno elaborati utilizzando la funzione parseUploadedFile.
La funzione parseUploadedExcelFile cerca una sessione valida, quindi non ho potuto caricare alcun file Excel, ma la funzione parseUploadedFile non verifica una sessione valida.
Nel suo test, l'esperto nella valutazione delle vulnerabilità non ha effettivamente archiviato il file caricato sul server. Al contrario, l' attività uploadFile è stata utilizzata per elaborare il file caricato dal modulo HTML e restituire il contenuto del file al client. Non è stato possibile caricare la shell Web perché non è stata memorizzata sul server.
La classe UploadFileTask elabora i dati dal file caricato senza codifica di output, il che potrebbe portare a un'esecuzione JavaScript arbitraria nel contesto di m-nexus.thefacebook.com.
Ciò dimostra che esistono difetti XSS, anche se non è stato ancora dimostrato che il loro sfruttamento è stato possibile, per il quale il ricercatore ha creato un sito appositamente progettato. Sfortunatamente, l'Expert Advisor non è stato in grado di sfruttare i difetti perché, agendo come un aggressore, non può controllare il contenuto del file.
Tuttavia, dopo un lungo processo di tentativi ed errori, il ricercatore è stato in grado di creare uno snippet di codice HTML + JavaScript, che ha inviato a un file utilizzando un modulo POST, sfruttando i difetti XSS. Gli attacchi XSS consentono a un hacker malintenzionato di eseguire script sul computer client, consentendo la raccolta di informazioni sul sistema di destinazione.
Per ulteriori rapporti su vulnerabilità, exploit, varianti di malware e rischi per la sicurezza del computer, si consiglia di accedere al sito Web dell'International Institute of Cyber Security (IICS) , nonché alle piattaforme ufficiali delle società tecnologiche.