En teoría, si todos los servidores y las conexiones a ellos fueran perfectamente seguros (imposibles) y confiables (no verdaderos), ninguno sería más "seguro" que el otro, principalmente porque los desarrolladores del sitio web están en Control total del contenido del sitio. Dado que Flash y JS se entregan a los clientes, el servidor tendría que proporcionar contenido malicioso al usuario final para que el usuario final se vea afectado.
Lamentablemente, no vivimos en un mundo perfecto y JS tiende a ser más seguro en el caso de un compromiso del servidor, ya que está mucho más limitado en su capacidad de afectar al cliente. Muchas vulnerabilidades de Flash tienen la capacidad de ejecutar código arbitrario, que es mucho más dañino que las vulnerabilidades del navegador, que a menudo requieren múltiples vulnerabilidades para salir de la caja de arena. Esto significa que los exploits JS a menudo solo pueden manipular al cliente mientras el cliente está viendo esa página y generalmente no puede persistir después de que se cierra, mientras que los exploits Flash pueden infectar a los clientes con RAT u otro malware, lo que permite al atacante tener control sobre el cliente incluso después de que el navegador está cerrado.
Otra ventaja de usar JS es que los clientes pueden ver la fuente. Alguien que use el sitio puede notar algo sospechoso en la fuente y notificar a los desarrolladores, permitiendo que la intrusión sea detectada más fácilmente. En el caso de Flash, un atacante malintencionado puede inyectar código malicioso en un swf existente y, como los usuarios no pueden ver la fuente sin disimular el swf, el código malicioso puede pasar desapercibido por más tiempo.
Para un usuario final, escenario 2:
JavaScript habilitado, Flash no instalado o habilitado
sería mucho más seguro por las razones anteriores y dada la historia de hazañas de Adobe Flash. Una búsqueda en el NVD revela un total de 610 vulnerabilidades , son entre enero de 2014 y diciembre de 2015. La mayoría de las vulnerabilidades relacionadas con JS tienden a ser específicas del navegador, lo que reduce el número de clientes afectados, mientras que Flash debe ser multiplataforma, lo que aumenta el número de afectados. clientes (menos en la actualidad, considerando que muchas personas tienen Flash deshabilitado).
TLDR: Mantén el Flash apagado y usa JS en su lugar.