Actualmente, estoy trabajando en una aplicación web que permite a los usuarios cargar archivos en uno de nuestros servidores de Windows. La aplicación está construida en ASP.NET MVC con un backend de MySQL. Los archivos cargados no se almacenan en el servidor web, por lo que no se puede acceder a ellos a través de la aplicación.
Una buena práctica para subir archivos es limitar las extensiones a los tipos de archivos relevantes, pero eso no se va a lavar aquí. Si debo restringir las subidas por extensión, tiene que ser a través de una lista negra.
La búsqueda sugiere que hay algo así como 50 extensiones de archivos impares que debería sospechar y bloquear. Además de eso, existe la posibilidad de que se oculte un código peligroso en otros archivos como pdf.
Sin embargo, el propósito de la aplicación es analizar los archivos de texto cargados. Una vez que los archivos están en el servidor, se introducen en una secuencia de archivos y los contenidos se combinan para la estandarización de los datos. Eso es todo lo que hace.
Dado que lo que hacemos con los archivos parece lo suficientemente seguro, no los estamos ejecutando ni nada, ¿realmente necesito mantener una lista de bloqueo de 50 cadenas en constante expansión? O hay algunos tipos de archivos (es decir, .exe) que puedo seleccionar como particularmente peligrosos sin comprometer la seguridad.