Ich arbeite an einem Programm, um Anfragen in bash zu verarbeiten, die von Benutzern in einem WebInterface angefordert werden. Um den Benutzern Flexibilität zu geben, können sie für jeden Job mehrere Parameter angeben. Am Ende wird die Anfrage in einer Datei mit einem bestimmten Namen gespeichert, so dass das Bash-Skript die angeforderte Aufgabe ausführen kann.Quellkonfigurationsdatei vermeidet jegliche Ausführung
ENVIRONMENT="PRO"
INTEGRATION="J050_provisioning"
FILE="*"
DIRECTORY="out"
Skript diese Datei wird Quelle, so die bash die benötigten Aufgaben Benutzer angefordert auszuführen:
Diese Datei am Ende wird wie folgt gefüllt. Und es funktioniert großartig so weit, aber ich sehe ein Sicherheitsproblem mit diesem, wenn der Benutzer bösartige Daten eingibt, so etwas wie:
SOMEVAR="GONNAHACK $(rm -f some_important_file)"
OTHERVAR="DANGEROUZZZZZZ `while :; do sleep 10 & done`"
Dies wird unerwünschte Wirkungen verursachen, wenn die Datei Sourcing :). Gibt es eine Möglichkeit, zu verhindern, dass eine Quelldatei irgendeinen Code außer Variableninitialisierungen ausführt? Oder der einzige Weg wäre nur grep die Quelldatei vor der Beschaffung es zu überprüfen, ist es nicht gefährlich?
Thank you! Es funktioniert ganz gut :) – alphamikevictor