Schrift
[thread]11670[/thread]

Externe Programme ausführen



<< >> 4 Einträge, 1 Seite
RalphFFM
 2008-04-20 21:18
#108594 #108594
User since
2006-11-16
258 Artikel
BenutzerIn
[Homepage] [default_avatar]
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
Linuxer
 2008-04-20 22:19
#108598 #108598
User since
2006-01-27
3881 Artikel
HausmeisterIn

user image
Sichere $ENV{PATH} eben ab:

Code (perl): (dl )
$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!
nepos
 2008-04-21 11:33
#108620 #108620
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Zusätzlich bei allen Programmen, die man aufruft noch den kompletten Pfad mit angeben:
Code (perl): (dl )
system('/usr/bin/convert', ...) and die "Error calling convert!";
betterworld
 2008-04-21 20:11
#108657 #108657
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
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.
<< >> 4 Einträge, 1 Seite



View all threads created 2008-04-20 21:18.