In teoria, se tutti i server e le connessioni fossero perfettamente sicuri (impossibili) e affidabili (non veri), nessuno dei due sarebbe più "sicuro" dell'altro - principalmente perché lo sviluppatore / i del sito Web sono in pieno controllo del contenuto del sito. Poiché Flash e JS vengono offerti ai client, il server deve pubblicare contenuti dannosi per l'utente finale in modo che l'utente finale ne risenta.
Purtroppo, non viviamo in un mondo perfetto e JS tende ad essere più sicuro nel caso di un compromesso tra server: è molto più limitato nella sua capacità di influenzare il cliente. Molte vulnerabilità di Flash hanno la capacità di eseguire codice arbitrario, che è molto più dannoso degli exploit del browser, che spesso richiedono più vulnerabilità per uscire dalla sandbox. Ciò significa che gli exploit JS spesso possono solo manipolare il client mentre il client sta visualizzando quella pagina e di solito non è in grado di persistere dopo che è stato chiuso, mentre gli exploit di Flash possono infettare i client con RAT o altro malware, che consente all'utente malintenzionato di avere il controllo sul client anche dopo la chiusura del browser.
Un altro vantaggio dell'utilizzo di JS è che la sorgente è visualizzabile dai client. Qualcuno che usa il sito può notare qualcosa di sospetto nella fonte e avvisare gli sviluppatori, consentendo di rilevare più facilmente l'intrusione. Nel caso di Flash, un utente malintenzionato può immettere codice dannoso in uno swf esistente e, poiché gli utenti non possono visualizzare l'origine senza dissimulare lo swf, il codice dannoso potrebbe non essere rilevato più a lungo.
Per un utente finale, scenario 2:
JavaScript enabled, Flash not installed or enabled
sarebbe molto più sicuro per le ragioni precedenti e dato la storia di exploit di Adobe Flash. Una ricerca nel NVD rivela un totale di 610 vulnerabilità , 330 di questi sono compresi tra gennaio 2014 e dicembre 2015. La maggior parte degli exploit correlati a JS tendono a essere specifici del browser, il che riduce il numero di client interessati, mentre Flash è pensato per essere multipiattaforma, il che aumenta il numero di utenti interessati clienti (meno oggi, considerando che molte persone hanno disabilitato Flash).
TLDR: tieni Flash disattivato e utilizza invece JS.