Seguridad del archivo de Excel del lado del servidor

4

Necesito escribir una aplicación que interactúe con los archivos cargados de fuentes no confiables (usuarios). Las especificaciones dicen que debo soportar CSV y Excel. Si permito que un usuario cargue un archivo de Excel en el servidor y maneje la apertura, el procesamiento y el almacenamiento del lado del servidor, ¿qué tipo de problemas de seguridad me estoy abriendo? ¿Qué tipo de mitigaciones puedo aportar al problema o es fundamentalmente desaconsejable? (Para estas preguntas, suponga que la función del servidor web se ejecuta con una cuenta con privilegios mínimos).

Editar aclaración:

En particular, me preocupa el archivo de Excel ... ¿tengo que preocuparme por la ejecución de macros o virus, o por no ser un archivo de Excel? Estaría abriendo esto desde un back-end escrito de C # ... ¿qué riesgo hay al intentar leer esto a través de un intérprete de Excel?

    
pregunta cocogorilla 21.06.2016 - 00:28
fuente

2 respuestas

3

Puedo pensar en los siguientes escenarios:

  • Ya que está procesando sus datos y luego realizando una llamada a la base de datos, debe asegurarse de utilizar declaraciones preparadas en su servidor web. Eso se ocupará de todos sus ataques de inyección SQL
  • Si está presentando los datos en su página web, asegúrese de que está limpiando su información para evitar un ataque XSS almacenado .
  • Un atacante puede cambiar el orden de las celdas en el archivo CSV para bloquear el servidor. Debe hacer que su código sea independiente del orden de celda en el archivo CSV (es muy fácil de implementar). También es bueno tener una característica

En su caso, debería preocuparse por la codificación segura de su aplicación y por el manejo de diferentes casos de borde en la estructura y el contenido del archivo.
En mi humilde opinión, todos los vectores de ataque aplicables aquí estarán relacionados con los datos presentes en los archivos.

    
respondido por el Limit 21.06.2016 - 10:23
fuente
0

Validación de entrada adecuada.
He visto muchas veces que las aplicaciones manejan caracteres especiales en los campos de entrada muy bien, excepto que están presentes en los datos en el archivo de Excel cargado. Asegúrese de que cualquier mensaje de error que muestre para datos no válidos en un archivo de Excel sea un mensaje genérico y no incluya un valor de celda no codificado. De lo contrario, su aplicación será vulnerable a XSS.

    
respondido por el one 21.06.2016 - 06:31
fuente

Lea otras preguntas en las etiquetas