Cheatah: Fileupload - Bestimmung des Dateityps

Beitrag lesen

Hi,

Eine Frage: Welcher Virus kann denn mit ner gif-Endung Schaden anrichten, höchstens sowas wie pamela.gif.exe, oder?

der IE - ein leider weit verbreitetes Produkt - ignoriert den HTTP-Standard und verwendet Ressourcen aufgrund dessen, was er aus den Daten herausanalysieren kann. Ohne weiteres ist es denkbar, daß er eine auf ".gif" endende Ressource ausführt, wenn er die Daten für ausführbar hält.

Kann man nicht mit if.... ausführbare Dateiendungen wie .exe etc. ausschließen?

Es gibt keine "ausführbaren Dateiendungen" - denn in HTTP gibt es sowas komisches wie Dateiendungen gar nicht. Um was für eine Art Ressource es sich handelt, sagt _ausschließlich_ der Content-Type, der Dir vom Client leider nicht mitgeteilt wird. Wenn Du den Server die Ressourcen ausliefern läßt, kannst Du den Content-Type so schreiben, wie Du möchtest - also z.B. eine als .gif benannte .exe als text/plain ausliefern.

Das Problem bei der gesamten Geschichte ist _nur_ der IE, der sich leider nicht an die technischen Standards hält, und dessen Verhalten gelinde gesagt unvorhersehbar ist. Wenn Du im Intranet arbeitest und garantieren kannst, daß der IE nicht verwendet wird, bist Du in Deiner Handlungsweise vollkommen frei, weil Du sehr leicht ein absolut ausreichendes Sicherheitskonzept erstellen kannst.

ein kpl. PHP Script, welches doch einsehbar ist (oder?)

Nicht, wenn Du es von einem auf PHP konfigurierten HTTP-Server anfragst.

kopiert und woanders installiert, die Befehle rausnimmt, kann er dann nicht munter raufladen, was ihm passt?

Also, es fängt wohl schon damit an, daß er an das Script nicht ran kommt. Dann kann er es nicht einfach auf den Server schmeißen - zumindest nicht, wenn Du minimale Sicherheit walten läßt, also die hochgeladenen Ressourcen _nur_ mit definierten Content-Types auslieferst, und zwar _ohne_ sie auf welche Weise auch immer ausführen zu lassen.

Ich weiß, es ging um PERL, aber das ginge ja auch mit PHP.

Mit einem CGI-Script ist es nicht anders.

Cheatah