mittels htaccess Ausführen von php, cgi und Co. verbieten
Shir Khan
- webserver
0 lulu0 Michael Schröpl0 Andres Freund
*prust*
Auf meine HP habe ich einen Bereich in den manche User Dateien hochladen können. Es ist aus verwaltungsgründen nicht möglich das Uploaden von Dateien wie .php3/4 oder cgi/pl möglich. Dies stellt eine Sicherheitslücke da, da mit solchen Files auf meinen gesamten Webspace und die MySQL Datenbank zugegriffen werden könnte.
Meine Frage: Ist es mittels eines HTACCESS Files möglich das ausführen von Dateien mit festlegbaren Endungen zu verhindern??? Das sollte doch gehen. Ein Bild soll weiterhin abrufbar sein, nur solche Skripten eben nicht! Bzw. es wäre sogar besser festlegen zu können welche Art von Files abgrufen werden können und alle anderen eben nicht. Ginge das???
PS: Wenn jemand einen PHP Code in eine TXT steckt und diese an hochlädt und ausführen will, würde der Server das machen????
Shir Khan, the tiger
GVT
Huhu Shir Khan
generell wäre es vermutlich besser wenn die hochgeladenen Skripte ausser(ober)halb des WebVerzeichnisses gespeichert werden.
Dann kann auch niemand diese per Browser aufrufen/ starten.
Wenn Du sie zum download anbieten möchtest brauchst Du dazu nur ein Skript das die gewünschte Datei "durchreicht".
Viele Grüße
lulu
*prust*
was meist Du mit Oberhalb/Außerhanb??
Folhende Situation: www.test.de/skr
im unterverzeichnis skr leigen die skirpte, und auf der domain selbst läuft ein Portal, dessen Datein und SQLConfig nicht erreichbar sein soll für die in skr gespeicherten Skripten, aus sicherheitsgründen!
Shir Khan, the tiger
GVT
Huhu Shir Khan
generell wäre es vermutlich besser wenn die hochgeladenen Skripte ausser(ober)halb des WebVerzeichnisses gespeichert werden.
Dann kann auch niemand diese per Browser aufrufen/ starten.
Wenn Du sie zum download anbieten möchtest brauchst Du dazu nur ein Skript das die gewünschte Datei "durchreicht".
Viele Grüße
lulu
Hallo Shir Khan
was meist Du mit Oberhalb/Außerhanb??
bei einem vernünftigen Hoster kann man das Web-Verzeichnis festlegen bzw. es liegt eine Ebene unter dem Verzeichnis auf das Du per FTP gelangst.
Also z.B.:
/home/userxyz/htdocs/ das wäre z.B. Dein FTP-Root
/home/userxyz/htdocs/web/ das wäre z.B. das Web-Root
/home/userxyz/htdocs/userupload/ das könnte z.B. das upload-Dir sein
Viele Grüße
lulu
*prust*
Leider hab ich nicht diese Möglichekeit :(. Nicht in meinem Webhostingpacket. Aber ich hatte ne abere Idee, bekommt htaccess es auch gerafft, das was in der Datei steht nur für Unterverzeichnisse gilt??? (und nicht für das Verzeichnis selbst)!
Shir Khan, the tiger
GVT
Hallo Shir Khan
was meist Du mit Oberhalb/Außerhanb??
bei einem vernünftigen Hoster kann man das Web-Verzeichnis festlegen bzw. es liegt eine Ebene unter dem Verzeichnis auf das Du per FTP gelangst.
Also z.B.:
/home/userxyz/htdocs/ das wäre z.B. Dein FTP-Root
/home/userxyz/htdocs/web/ das wäre z.B. das Web-Root
/home/userxyz/htdocs/userupload/ das könnte z.B. das upload-Dir sein
Viele Grüße
lulu
Holla
Aber ich hatte ne abere Idee, bekommt htaccess es auch gerafft, das was in der Datei steht nur für Unterverzeichnisse gilt??? (und nicht für das Verzeichnis selbst)!
was spricht dagegen die htaccess in eben dieses Unterverzeichnis zu legen, bzw. wenn es sehr viele Unterverzeichnisse sind noch eine weitere Verzeichnisebene einzufügen?
so far ...
lulu
Naja, jeder User kann mit einem PHP Skript sein Verzeichnis bearbeiten. Und er kann auch die HTACCESS Datei dort drin sehen und bearbeiten/löshen (also kein schutz). Ein Verzeichnis höher liegt das Anzeigeskript das nicht blockiert werden darf.
Noch eine Verzeichnisebene, wäre ne Lösung, aber es sind schon viele Verlinkungen geschaltet, so das dies zu aufwendig wäre. Das Skipt so zu modifizieren, daß es alles mit . am Anfrang ingnoriert wäre Sysiphusarbeit.
PS: wenn man PHP Code in TXT Versteckt, parst das der Server?? Doch wohl hoffentlich nicht!
Shir Khan, the tiger
GVT
Holla
Aber ich hatte ne abere Idee, bekommt htaccess es auch gerafft, das was in der Datei steht nur für Unterverzeichnisse gilt??? (und nicht für das Verzeichnis selbst)!
was spricht dagegen die htaccess in eben dieses Unterverzeichnis zu legen, bzw. wenn es sehr viele Unterverzeichnisse sind noch eine weitere Verzeichnisebene einzufügen?
so far ...
lulu
Huhu
Das Skipt so zu modifizieren, daß es alles mit . am Anfrang ingnoriert wäre Sysiphusarbeit.
Wirklich? Das dürfte doch höchstens ein 1-2 Zeiler sein?
PS: wenn man PHP Code in TXT Versteckt, parst das der Server?? Doch wohl hoffentlich nicht!
I.d.R. nicht, aber man könnte es natürlich so konfigurieren.
Vor allem wenn User eine .htaccess-Datei schreiben können/ dürfen.
so far ...
lulu
Hi,
Es ist aus verwaltungsgründen nicht möglich das Uploaden von Dateien
wie .php3/4 oder cgi/pl möglich.
dann taugt Dein Uploader nichts.
Dies stellt eine Sicherheitslücke da, da mit solchen Files auf meinen
gesamten Webspace und die MySQL Datenbank zugegriffen werden könnte.
Wie ist Dein Webspace konfiguriert?
Ich verwende kein PHP, glaube mich aber zu erinnern, daß der Interpreter
normalerweise über eine Verknüpfung zwischen Datei-Endung und Apache-
Handler (hier: dem PHP-Modul) vorgenommen wird ("AddHandler").
Falls dies bei Dir der Fall ist, kannst Du diese Verknüpfung für Deine
Upload-Verzeichnisse separat _aufheben_, indem Du mit einem _weiteren_
"Addhandler" (in der .htaccess des Upload-Verzeichnisses) einfach einen
Handler an diese Endung bindest, der _nicht_ der PHP-Handler ist.
Da Du mit spezielleren .htaccess-Definitionen allgemeinere httpd.conf-
Definitionen überschreibst, funktioniert das.
Der hierfür wahrscheinlich geeignetste Handler ist derjenige, der den
Inhalt der PHP-Datei einfach an den Browser ausliefert (etwas Hochge-
ladenes kann man dann auch wieder herunterladen) - in diesem Falle heißt
der (in Apache vordefinierte) Handler dann einfach "default-handler".
Du kannst aber auch einen eigenen Handler schreiben (beispielsweise
ein CGI-Skript - ob es sogar mit PHP geht, weiß ich nicht) und den
Versuch, ein hochgeladenes PHP-Skript via HTTP anzusprechen, mit einer
beliebigen, von Dir programmierten Reaktion honorieren ... Deiner
Kreativität sind keine Grenzen gesetzt.
Lesetip zu Apache-Handlern:
http://httpd.apache.org/docs/handler.html
Viele Grüße
Michael
Hi,
Ich hätte den Vorschlag, das einfach mit CHMOD unausführbar zu machen oder? (DA ich denke das ein Webhoster Space auf einem Unix, linux uä System anbietet)
mfg Andres