Guten Tag, ich verwende aus historischen Gruenden schon lange auch SSI auf "meinem" Server und bin gestern auf ein Problem gestossen, das wahrscheinlich auf einer Fehlkonfiguration beruht, aber ich habe auch nach langer Suche nicht gefunden, woran es liegt (vielleicht auch falsch gesucht):
Hier das Problem: Ich habe eine sehr einfache Datei test.shtml: <html> <body> <pre> <!--#exec cmd="ls -al ." --> </pre> </body> </html> Das funktioniert so auch einwandfrei - wenn ich die Datei aufrufe, wird mir drwxr-xr-x 2 apache apache 4096 Feb 13 14:46 . drwxr-xr-x 19 apache apache 4096 Feb 13 14:46 .. -rw-r--r-- 1 apache apache 107 Feb 13 13:35 test.shtml angezeigt. Rufe ich dagegen z.B. test.shtml?/etc auf, wird auch der Query-String /etc an den exec-Befehl uebergeben und das Ergebnis schaut so aus: .: drwxr-xr-x 2 apache apache 4096 Feb 13 14:50 . drwxr-xr-x 19 apache apache 4096 Feb 13 14:46 .. -rw-r--r-- 1 apache apache 107 Feb 13 14:50 test.shtml /etc: drwxr-xr-x 130 root root 12288 Feb 5 17:21 . drwxr-xr-x 23 root root 4096 Feb 9 11:15 .. drwxr-xr-x 3 root root 4096 Feb 21 2024 .java -rw-r--r-- 1 root root 4723 Mar 26 2018 Muttrc usw. Das ist natuerlich eine Sicherheitsluecke, die ich schliessen moechte (bei einem cat-Befehl ist die Luecke noch gefaehrlicher, ?/tmp/meine_Datei.txt gibt dann z.B. /tmp/meine_Datei.txt aus!). Ich kann das zwar verhindern, indem ich den exec-Befehl leicht modifiziere: <!--#exec cmd="ls -al .;" --> Aber eigentlich moechte ich durch die Konfig des Apache-Servers verhindern, dass der Query-String an den exec-Befehl uebergeben wird. Hat jemand eine Idee, was ich da falsch konfiguriert habe bzw. wie das richtig konfiguriert werden kann? Danke Reinfried
