Quindi ho bisogno di decomprimere ed elaborare i file zip inviati dall'utente - come fare in modo sicuro?

2

Sto scrivendo un sistema che accetta i file zip dagli utenti finali.

Il titolo dice tutto - quali precauzioni dovrei fare per assicurarmi che il mio server di elaborazione non venga compromesso quando ho bisogno di decomprimere un set di file utente completamente casuale da un file zip ed elaborarli?

I file verranno eseguiti attraverso alcuni Python e altri processi.

    
posta Duke Dougal 15.05.2015 - 05:29
fonte

2 risposte

2

Prima di tutto, suggerirei di eseguire una sorta di ispezione del contenuto (ad esempio rilevamento di antivirus / malware)

In secondo luogo, vorrei leggere i file all'interno del file ZIP. Dato che stai usando Python, ti suggerisco di dare un'occhiata a: link

Leggendo il contenuto del file ZIP, è possibile determinare se i file sono consentiti o meno (ad esempio: file .exe, .php o .asp (x))

In terzo luogo, estrai il contenuto dell'utente in una cartella in cui non è possibile eseguire script come PHP / ASPX, preferibilmente al di fuori della directory web del server web.

    
risposta data 15.05.2015 - 06:14
fonte
1

A seconda della definizione di "compromesso", potresti anche controllare gli attacchi " bomba a zip ":

a zip bomb allows the program to work as intended, but the archive is carefully crafted so that unpacking it (e.g. by a virus scanner in order to scan for viruses) requires inordinate amounts of time, disk space or memory.

    
risposta data 15.05.2015 - 10:57
fonte

Leggi altre domande sui tag