.inc Dateien Sicherheitsrisiko?
Eingetragen von Anonymous (0)
am 02.08.2005 - 02:46 Uhr in
am 02.08.2005 - 02:46 Uhr in
Ich hab folgendes Problem: (Drupal 4.6.2)
Man kann auf meine Dateien im Ordner ../includes zugreifen. Zum Beispiel:
GIbt jemand in den Browser http://www.domain.com/includes/file.inc ein so sieht er den kompletten Inhalt der Datei!! Das ist eigentlich sehr riskant. Man könnte den Zugriff unterbinden wenn man .php an die Dateien dranhängt. Bsp:
file.inc.php
Aber das kann denke ich nicht die richtige Lösung sein? Sind evtl. chmods zu setzen??
Bitte um Hilfe... Die .inc-Dateien dürfen nicht einsehbar sein.
- Anmelden oder Registrieren um Kommentare zu schreiben
du meinst .inc mit PHP
am 02.08.2005 - 06:41 Uhr
du meinst .inc mit PHP inside ?
scheint auf ein Server Problem hinzuweisen, eigentlich sollte der PHP Code nicht angezeigt werden, höchstens ausgeführt und selbst das nur mit den erforderlichen Rechten
Prinzipiell wären inc.php
am 02.08.2005 - 09:18 Uhr
Prinzipiell wären inc.php Dateien wirklich besser. Ich denke aber das es nicht schlimm/gefährlich ist, wenn sie nicht geparst werden, da in den Drupal inc Dateien ja nichts "geheimes" drin steht...
Grüße
Björn
binmir nicht sicher, ob ich
am 02.08.2005 - 13:29 Uhr
bin mir nicht sicher, ob ich das richtig verstanden habe, aber soweit es sich um das problem handelt, dass man bei eingabe von
http://www.domain.com/includes/ alle dateien angezeigt bekommt (directory listing) könnte folgendes helfen:
.htaccess oder eine index.php im /includes verzeichnis
die .htaccess-datei müsste IMHO folgendes enthalten
Options -Indexes
...somit wird das directory listing unterbunden...auch in den unterverzeichnissen.
oder man fügt eine index.php datei in das verzeichnis ein und leitet den browser damit auf die startseite um oder zeigt eine fehlermeldung an.
falls directory listing garnicht das problem ist, sondern einfach nur alle dateien, die auf .inc enden bei direkter eingabe den php-quellcode preisgeben kann man sich so helfen: man fügt
AddType application/x-httpd-php .inc
AddHandler x-httpd-php .inc
in die .htaccess ein - somit werden alle dateien, die mit .inc enden vom apache durch den php parser gejagt und man sieht bei direkter eingabe der .inc-URL nur deren ausgabe nach dem ausführen des php-codes (wahrscheinlich mit warnings/fehlern)
hth
--
G-ROC
habe gerade gesehen, dass
am 02.08.2005 - 14:01 Uhr
habe gerade gesehen, dass die default .htaccess, die bei drupal dabei ist (im root der installation), diese einträge schon alle drin hat. wahrscheinlich ist dein hoster aber sehr restriktiv und verhindert eigene .htaccess-einträge. vielleicht dort mal nachfragen.
ciao,
--
G-ROC
@G-ROC
am 02.08.2005 - 14:08 Uhr
@G-ROC
directory listing ist nicht das Problem, sondern die Anzeige des Inhalts der .inc Dateien bei direkter Eingabe in den Browser (/includes/file.inc).
[edit]
Das mit der .htaccess funktioniert doch!!! Hatte bei der Installation die .htaccess etwas abgeändert, daran lag es wohl.
THX!!!
Auf keinen Fall ausführen lassen!
am 02.08.2005 - 14:53 Uhr
Die .inc und .module Dateien sollten auf keinen Fall ausgeführt werden. Zum einen produziert es (wenn auch im Hintergrund) massig Fehler, weil der Drupal Core nicht geladen wurde. Zum anderen kann Code ausgeführt werden, der durch user_access() hätte unterbunden werden sollen.
Den Inhalt der Dateien auszugeben ist dagegen unbedenklich. Immerhin ist es ein OpenSource-Produkt.
Soso...hier aber nun die ultimative Lösung. Die Dateien werden weder ausgeführt noch ausgegeben. Der Drupal Core kann sie dennoch wie gewünscht benutzen.
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^/includes.*$
RewriteRule ^(.*)$ /index.php [R]
muss man wissen!
am 02.08.2005 - 16:47 Uhr
Zum anderen kann Code ausgeführt werden, der durch user_access() hätte unterbunden werden sollen.
good point! und interessante alternative - aber wenn das geht (von seiten des isp), gehen sicherlich auch die default-einträge in der drupal-.htaccess.
--
G-ROC
Nicht ganz :) Die
am 02.08.2005 - 17:56 Uhr
Nicht ganz :)
Die default-Einträge bewirken ein "forbidden" durch die files-directive.
Mein sample-code ist ein mod_rewrite code, welcher auf index.php redirected.
Die coolste Lösung wäre, wenn mod_rewrite denn geht, die files-directive zu löschen und statt dessen mit mod_rewrite einen Code zu schreiben, der auf eine Drupal-eigene "forbidden" Seite redirectet.