User since
2006-11-16
258
Artikel
BenutzerIn
Hallo,
der Tainted-Modus mit -T meckert ein
system("convert", "-geometry", "500x500", "vorher.jpg", "nachher.jpg");
an, mit der Fehlermeldung
Insecure $ENV{PATH} while running with -T switch at skript.cgi line ...
Wie kann man das "tainted-kompatibel" schreiben?
Wenn ich convert inklusive Pfad aufrufe bringt es auch keine Besserung.
Danke + Gruß, Ralph
User since
2006-01-27
3891
Artikel
HausmeisterIn
Sichere $ENV{PATH} eben ab:
$ENV{PATH} = '/bin:/usr/bin:/usr/local/bin';
perldoc perlsec - Cleaning Up Your Path
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
User since
2005-08-17
1420
Artikel
BenutzerIn
Zusätzlich bei allen Programmen, die man aufruft noch den kompletten Pfad mit angeben:
system('/usr/bin/convert', ...) and die "Error calling convert!";
User since
2003-08-21
2614
Artikel
ModeratorIn
Sinnvoll ist es aber auch nur bei setuid-Scripten. Ansonsten ist es sinnvoller, sich auf PATH zu verlassen. Wenn der Sysadmin beschliesst, irgend etwas nach /sonstwo/bin zu installieren, aendert er die Variable PFAD, und die Benutzer muessen sich um nichts kuemmern. Aber wenn man vom Taint-Modus dazu gezwungen wird, den Pfad selbst zu setzen, hoert in so einem Fall alles auf zu funktionieren. Daher benutze ich kein -T... hab's ja neulich schon in einem anderen Thread beschrieben.