Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3180[/thread]

[1.3.x] ActionHandler: CGI gibt eigenen Code aus



<< >> 3 Einträge, 1 Seite
GwenDragon
 2006-02-06 18:56
#29827 #29827
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Ich habe einen ActionHandler eingerichtet.
Beispiel Handler ist wie folgt:
Code: (dl )
1
2
3
4
Action add-infos /cgi-bin/info/newinfos.pl
<FilesMatch "index\.html$">
SetHandler add-infos
</FilesMatch>


http://www.meine.url/test/index.html wird korrekt durchlaufen.
Das CGI übernimmt die URL PATH_INFO und gibt die Datei nach ein paar Veränderungen aus.

Es gibt nur ein Problem.
Wenn ich die URL des CGIs mit derselben angehängten URL aufrufe, gibt das CGI den eigenen Code aus.
Also ein /cgi-bin/info/newinfos.pl/cgi-bin/info/newinfos.pl gibt sich selbst aus.

Was unter Sicherheitsapekten gruselig ist.

Wie läßt sich das verhindern?

Wahrscheinlich, indem ich teste ob $ENV{PATH_TRANSLATED} eq $0

Oder weiß noch jemand eine Lösung?
Dubu
 2006-02-07 03:13
#29828 #29828
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Hm. Wenn ich das richtig sehe, solltest du generell in newinfos.pl pruefen, ob nur erlaubte Dokumente uebergeben werden. Was ist denn, wenn du z.B. /cgi-bin/info/newinfos.pl/cgi-bin/.htaccess oder /cgi-bin/info/newinfos.pl/../../../etc/passwd oder aehnliches angibst? Dann wird ja wahrscheinlich die entsprechende Datei durch dein Skript gesaugt, oder?

PS: Gut, beim zweiten Beispiel wird es so sein, dass der Pfad schon vor der Auswertung normalisiert wird, sodass keine Dateien ausserhalb des Serverbereichs angesprochen werden koennen, aber das erste Problem bliebe wohl. (Ungetestet.)\n\n

<!--EDIT|Dubu|1139274941-->
GwenDragon
 2006-02-07 11:05
#29829 #29829
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
[quote=Dubu,07.02.2006, 02:13][/quote]
Quote
Hm. Wenn ich das richtig sehe, solltest du generell in newinfos.pl pruefen, ob nur erlaubte Dokumente uebergeben werden.
Ja, das ist klar, eine interne Prüfung wird schon gemacht, das ist schon in meinem Handler mit eingebaut. Sonst könnten auch Dateien wie /etc/passwd oder .htpasswd gelesen werden.

Quote
Gut, beim zweiten Beispiel wird es so sein, dass der Pfad schon vor der Auswertung normalisiert wird, sodass keine Dateien ausserhalb des Serverbereichs angesprochen werden koennen
Ja, das denke ich auch.
<< >> 3 Einträge, 1 Seite



View all threads created 2006-02-06 18:56.