Ist ein Bild wirklich ein Bild? Wie prüfe ich so etwas?

Also, danke ersteinmal für die PDF. Hab ich das so richtig verstanden:


Es existiert ein Bild... in dieses wird PHP code rein geschrieben. der header des bildes ist als bild deklariert, der code ist aber im bild vorhanden. die datei wird z.b. von .gif auf .php umbenannt. da es jedoch immernoch ein bild ist, kann man mit dem MIME-Typ nicht erkennen.

Das heißt ich mache folgende Prüfung:
MIME-Typ prüfen
Dateinamen-Endung prüfen
und zusätzlich verwende ich noch getimagesize();

Ist das so richtig, oder hab ich noch etwas vergessen? Erreiche ich durch diese Checks eine zumindest annähernd 100%ige Lösung?
 
Sodala, es ist soweit alles eingebaut, bis auf token_get_all(), da wüsste ich jetzt nicht wie ich das anwenden soll und was letztendlich rauskommen soll/kann?

Vielleicht weiß da noch jemand weiter?
 
Ist bestimmt soweit schon O.K.
Es darf nun nur keiner Rechte haben Dateien (bzw. die Dateierweiterung) umzubenennen. Und es darf keiner an den Servereinstellungen rumspielen dürfen. Dann kannst du davon ausgehen, so gut wie alles berücksichtigt zu haben.
Weil der PHP Code ist "nur" in dem Kommentar eines .GIF zum Beispiel. Solange es .GIF bleibt und der Server .GIF nicht als PHP-Skript ausführt sondern brav ausliefert, sieht der Besucher ein Bild und nichts passiert.
 
Vielen Dank ZodiacXP, genau so etwas wollte ich hören. Schön das sich jemand meinem Promlem bzw. meine Fragen angenommen hat.

evtl. noch interesse den kompletten Code mal anzusehen? Gerne per Mail oder so?

Liebe Grüße,
QUEST08
 
Den kannst du ja hier im Forum posten, wenn du magst.

Ansonsten bin ich auch der Meinung, dass schlimmstenfalls auch eine weitere Lücke (z.B. LFI - local file inclusion) dazugehören muss, damit man den Code dann auch tatsächlich ausführen kann.

Von daher finde ich das so ganz gut und auf einem vergleichsweise hohen Sicherheitslevel gelöst.
 
Zurück