Matthias Reitinger hat gesagt.:
Wer sagt denn dass es sich um eine Usereingabe handelt?
Ich gehe stark davon aus. Denn programmgesteuert einen String zu kreiren der
eine Berechnung durchführt ist schon etwas "seltsam".
Alternative könnte sein das jene Berechnungen durch ein in ein File bzw DB gespeicherten
String entsteht, dann stellt sich die Frage, wer darf diesen da reinstellen
das geht dann aber etwas zuweit.
Matthias Reitinger hat gesagt.:
Ungeprüft würd ich sowas vom User natürlich nicht durch ein eval jagen... ein if (preg_match("=^[0-9+\-*/]+\$=", $string)) davor und schon kann nix (schlimmes) mehr passieren
Gib mir etwas Zeit und ich bastel dir dennoch etwas gefährliches draus
// edit: Ein Admin der dem httpd/php Zugriff auf /etc/passwd gibt gehört eh erschlagen
Nein denn die /etc/passwd ist standardmässig auf readable für alle.
-rw-r--r-- 1 root root 1081 2004-01-07 13:09 /etc/passwd
Grund ist viele Programme benötigen die Persöhnliche Informationen die dort drinne
stehen. Das passwort steht natürlich in der /etc/shadow.passwd oder ähnlich
verschlüsselt.
Dennoch, ist jede Information die in der passwd steht eine Gefahrenquelle.