Así que necesito descomprimir y procesar los archivos zip enviados por el usuario. ¿Cómo hacerlo de manera segura?

2

Estoy escribiendo un sistema que acepta archivos zip de usuarios finales.

El título lo dice todo: ¿qué precauciones debo tomar para garantizar que mi servidor de procesamiento no se vea comprometido cuando necesito descomprimir un conjunto de archivos de usuario completamente aleatorios de un archivo zip y procesarlos?

Los archivos se ejecutarán a través de algunos Python y otros procesos.

    
pregunta Duke Dougal 15.05.2015 - 05:29
fuente

2 respuestas

2

En primer lugar, sugeriría realizar algún tipo de inspección de contenido (por ejemplo, detección de antivirus / malware)

Segundo, leería los archivos dentro del archivo ZIP. Ya que estás usando Python, sugeriría echar un vistazo a: enlace

Al leer el contenido del archivo ZIP, puede determinar si los archivos están permitidos o no (por ejemplo: archivos .exe, .php o .asp (x))

Tercero, extraiga el contenido del usuario en una carpeta donde no se puedan ejecutar scripts como PHP / ASPX, preferiblemente fuera del directorio web del servidor web.

    
respondido por el Jeroen - IT Nerdbox 15.05.2015 - 06:14
fuente
1

Dependiendo de la definición de "compromiso", es posible que también desee verificar los ataques " Zip bomba ": / p>

  

una bomba zip permite que el programa funcione según lo previsto, pero el archivo es   cuidadosamente diseñado para que lo desempaque (por ejemplo, mediante un escáner de virus en   para buscar virus) requiere cantidades excesivas de tiempo, disco   espacio o memoria.

    
respondido por el lorenzog 15.05.2015 - 10:57
fuente

Lea otras preguntas en las etiquetas