Sikkerhed ved filupload

Tags:    fil upload sikkerhed gdlib php

Hej

Jeg er igang med at udvikle et ganske fornuftigt upload system. Det fungerer faktisk upåklageligt, lige indtil jeg prøvede at uploade en php fil forklædt som jpeg.

Jeg udviklede en fil med følgende kode i og gemte den som jpeg (med mime-type og det hele).

Fold kodeboks ind/udPHP kode 


Er der nogen der ved hvordan jeg kan kontrollere at en billedfil er et billede og ikke et hack.



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Fandt selv en løsning. Jeg valgte at måle dimensionerne på billedet med:

Fold kodeboks ind/udPHP kode 


Jeg anser det som en god løsning, hvis nogen har en bedre løsning er jeg stadig yderst interesseret i at høre det.



Der er nogle der foreslår at bruge system('file -bi <path>');

http://php.net/manual/en/function.mime-content-type.php



Jeg vil foreslå at du også fjerner eventuelle EXIM headers fra filen (eller i hvert fald overskriver dem), da det er en mulighed for at lægge kode på serveren som så senere kan udnyttes med en local file inclusion sårbarhed.



t