È sicuro richiamare le funzioni PHP GD se non sai se il file è un'immagine valida?

2

C'è una funzione di caricamento delle immagini nell'applicazione web. Dopo che l'immagine è stata caricata, viene ridimensionata utilizzando le funzioni di PHP GD come imagecopyresampled e altre. Prima di invocare le funzioni di PHP GD non esiste una convalida speciale che questa immagine sia di tipo valido. Quindi questa immagine ridimensionata viene inserita nella directory sul server web. Quando l'utente richiede determinati URL, questa immagine gli viene presentata.

È sicuro invocare funzioni GD di PHP se non sai se il file è un'immagine valida?

    
posta Andrei Botalov 26.09.2012 - 17:08
fonte

1 risposta

1

È meglio convalidare l'input il più possibile prima di tentare di elaborarlo; questo post StackOverflow elenca diversi metodi, tra cui finfo sembra indirizzare la legittima difesa di @ Polynomial per il diavolo.

Detto questo, ci sono vari attacchi di formato contro le librerie di elaborazione delle immagini, ma iniziano principalmente con un file di immagine valido. Le librerie come GD generalmente aprono il file e il salvataggio non sembra un file immagine valido, quindi per romperle è necessario un file legittimo fino a quando non viola le specifiche in modo che il parser si rompa invece di respingerlo. Pertanto, l'input di convalida aiuta a evitare input errati basati sulla stupidità e sulla stupidità, ma non sopravvaluta la sua efficacia contro l'aggressore malintenzionato.

    
risposta data 26.09.2012 - 18:05
fonte

Leggi altre domande sui tag