Ciao a tutti.
Vorrei sapere se si può effettuare un'injection tramite un'immagine inviata da un form POST e recuperata con $_FILES.
Ovvero: un utente carica un'immagine .png, .gif, .jpg o .jpeg che viene salvata in una cartella (del sito). Poi, in una pagina, quest'immagine viene mostrata con <img>.
Controllando che il formato del file sia di un'immagine, ci sono altri modi per fare un'injection?
Se sì, come evitarli?
Grazie.
Tramite un editor esadecimale è possibile immettere codice php nell'immagine, per poi farlo eseguire (adesso non scendo nei dettagli, ma è un modo molto conosciuto).
La miglior soluzione non la saprei: bisognerebbe cercar un attimo in internet. Cercando un secondo, appare questo e mi sembra una buona soluzione :)
Non è l'unico metodo. Mi sembra il più semplice, e comunque dovrebbe funzionare.
Altrimenti, come chiedeva in quel link che ti ho indicato, si può leggere tramite CURL e risalvare la foto, ma diciamo è un po' "macchinoso" rispetto soltanto al chmod. (nulla ti impedisce di fare entrambe le cose).
Magari, cercando su google puoi trovare altre soluzioni... Per ora, non me ne vengono in mente altre.
Ciao!
Ultima modifica di alemoppo : 14-02-2013 alle ore 23.25.06
Ma chmod() lo devo utilizzare quando salvo la foto o quando la apro?
Comunque ho trovato questo.
Non è più sicuro settare i permessi tutti su read tranne quando viene caricato il file (quindi 244)?
Posso anche aver appena sparato una cavolata perché non ho la minima idea di come funzioni chmod()...
Buona giornata!