Alain: was bedeutet diese *.cgi?g=ls anfrage?

Beitrag lesen

hallo,

Das kommt auf das CGI an. Vielleicht ist es eines dieser unsicheren Monster. Und g eine Variable, die vom Script ausgelesen wird, warauf es den Befehl, der darin steht ausführt.

ls listet den Verzeichnisinhalt...

was kann schlimmsten falls passieren?
Hier ist ein teil des cgi's:
#!/usr/bin/perl

print "Content-type: text/html\n\n";

###Find where we are
     open(PWD,'pwd|');
     $pwd = join('',<PWD>);
     $pwd =~ s/\n//gi;
     close PWD;

Find the system date

open(DT, 'date "+DATE: %Y-%m-%d%n<br>TIME: %H:%M:%S"|');
    $dt = join('', <DT>);
    $dt =~ s/\n//gi;
    close DT;

print "<HEAD><TITLE>Advanced Whereami.cgi</TITLE></HEAD>\n";
print "<body bgcolor='#FFFFFF' text='#000000'>\n";
print "<CENTER><TABLE BORDER=0 WIDTH=75% CELLPADDING=5 CELLSPACING=1>\n";
print "<TR><TD COLSPAN=2 BGCOLOR=#80809F><b>YOU ARE HERE....</b> <INPUT TYPE=text VALUE=$pwd SIZE=50></TD></TR>\n";
$eln = crypt($pwd,time());
print "<TR BGCOLOR=#999999><TD>Encryption length is: ". length($eln) ."</TD>\n";
print "<TD>$eln</TD></TR>\n";
print "<TR><TD COLSPAN=2 ALIGN=center BGCOLOR=#80809F> $dt </TD></TR>\n";
print "</TABLE></CENTER>\n";
print "\n <BR><BR>\n";
print "<CENTER><h2>Dump of Environment variables</h2></CENTER>\n";
print "<CENTER><TABLE BORDER=0 WIDTH=75% CELLPADDING=5 CELLSPACING=1>\n";
foreach $key (sort(keys %ENV)) {
  print "<TR><TD VALIGN=top BGCOLOR=#80809F><B>", $key, "</B></TD><TD BGCOLOR=#999999>", $ENV{$key}, "</TD></TR>\n";
}
print "</TABLE></CENTER>\n";
print "\n <BR><BR>\n";
print "<CENTER><h2>Whereami.cgi Stats</h2></CENTER>\n";

($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
  $mtime, $ctime, $blksize, $blocks) = stat("./whereami.cgi");

print "</body></html>\n";

exit;
----------------
es zeigt einfach nur den pfad dess cgis und vom server und die umgebungsvariablen etc. an
gruss vom Alain