Hi»» Hi Andres,
Ist halt Perl, da ich kein PhP kann. Ich musste das Script schnell aus dem Kopf schreiben, weil ich das alte nicht mehr gefunden habe.
viele Hiebe. :-(
Warum?
<a href="zip.pl?pw=123&datei=123.zip">Zip Datei herunterladen</a>
Aha - ein Parameter mit dem Dateinamen. Schon mal was von "tainted" gehört?
Nein, was ist das?
my $name = $cgi->param("datei");#hiermit bekommst du die Parameter aus der Url
open (DATEI ,"$name");Diesen Parameter dann unbehandelt in einen system call - und offen ist das Scheunentor.
Das sollte auch nur ein Beispiel sein, wie man es machen kann, natürlich sollte man davor prüfen, ob die angeforderte Datei eine der "öffentlichen" Dateien ist. Indem man z.B. $datei mit dem Inhalt eines Arrays vergleicht.
Eigentlich dachte ich, ich hätte dazugeschrieben, dass das nur ein Schema ist, aber _leider_ habe ich das in der Eile vergessen.
Auf solche Sachen werde ich in Zukunft auch in Postings achten, da ich bemerkt habe, als ich den Thread nochmal durchgelesen habe, dass das leicht als fertiges Script betrachtet werden kann.
mfg
Andres Freund