Voglio testare una funzionalità di caricamento dei file e non ho potuto caricare file exe, ma ho potuto caricare file.exe.jpg (aggiungendo l'estensione jpg). Quale minaccia questo file possiede dopo averlo caricato sul server?
Per prima cosa come un piccolo sidenote, un file xyz.exe.com.bat.jpg potrebbe essere un file di immagine tecnicamente valido e non dovrebbe essere bloccato per il caricamento a meno che tu non voglia voler limitare le funzionalità (che potrebbero essere accettabili - basta dire )
Ora per rispondere alla tua domanda: un file xyz.exe o un file xyz.jpg pongono quasi la stessa minaccia dopo essere stato caricato sul tuo server.
In primo luogo, quale ulteriore minaccia avrebbe un file eseguibile del malware, mascherato in qualche modo aggiungendo .jpg
alla fine?
Se la tua applicazione analizza semplicemente le immagini (senza tentare di eseguire il contenuto delle immagini come binario, che è probabilmente il caso del 99,9999% di app) per visualizzarle, o semplicemente le trasmette via cavo (per un semplice sito Web), non vi è alcun rischio aggiuntivo a causa di un processo automatizzato (visualizzazione, trasferimento ...).
L'unico rischio aggiuntivo si verificherebbe se una persona curiosa rinominasse il file in un'estensione .exe
ed eseguirlo volontariamente su una macchina come file eseguibile
Ora un'immagine tecnicamente visualizzabile (o semplicemente un file che termina con .jpg
) potrebbe sfruttare un bug in un frammento di codice che analizza le immagini (in genere una libreria che useresti, ad esempio, per ritagliare o ridimensionare le immagini). In tal caso, un .exe.jpg
camuffato eseguibile non avrebbe alcun effetto sul parser. Solo un file accuratamente elaborato, creato appositamente per la libreria che utilizzi, sarebbe in grado di sfruttare qualsiasi cosa, e ciò avverrebbe durante l'analisi.
Per riassumere: un .exe.jpg
eseguibile elaborato da un normale pezzo di codice di analisi delle immagini è innocuo, poiché non sarebbe eseguito dal codice di analisi
Come nota finale, controllare se il file è effettivamente un'immagine tecnicamente valida prima di eseguire qualsiasi ulteriore elaborazione è generalmente una buona idea, se si dispone di risorse sufficienti per farlo. Anche in questo caso, un bug nella libreria "checker del tipo di file" potrebbe essere sfruttato. Ma almeno, un eseguibile xyz.exe.jpg non passerebbe la validazione
Leggi altre domande sui tag vulnerability file-upload