Was ist der Unterschied zwischen der Verwendung von system() zum Ausführen einer Binärdatei und der Kombination von fork/execvp.Unterschied zwischen der Verwendung von fork/execvp und Systemaufruf
Gibt es einen Sicherheits-/Portabilitäts-/Leistungsunterschied?
„Einführung einer Schale nach oben für Bugs und Exploits öffnet“ - Nur wenn Sie eine Person erlauben, die Befehle eingeben. Wenn Ihre Anwendung den Text des Shell-Befehls generiert, besteht keine Möglichkeit eines Exploits. –
Eine Möglichkeit ist, wenn der Benutzer einige Shell-Variablen ändert, bevor der Code ausgeführt wird. Es gibt eine Möglichkeit zu nutzen, aber nicht sicher, wie generisch es ist. – foo
Sie haben auch Pfad/Linker-Tricks. [Die Links brechen: Den Linker ausnutzen] (http://www.nth-dimension.org.uk/pub/BTL.pdf). – jww