In einem Informationssicherheitslabor, an dem ich arbeite, wurde ich beauftragt, mehrere Befehle mit einem einzigen Aufruf von "system()" auszuführen (in C geschrieben , läuft auf Fedora). Was ist die Syntax, die es mir erlaubt, mehr als Befehl durch System() auszuführen? (Die Idee ist, Sie beliebige Befehle durch ein Programm, das auf einem Remote-Computer ausführen können, wenn das Programm mit dem Betriebssystem durch das System interagiert() -Aufruf.)Verwendung eines einzelnen Systems() Aufruf zur Ausführung mehrerer Befehle in C
Ie:
char command[] = "????? \r\n";
system(command);
Sofern Sie nicht auf Windows ausgeführt wird, der Wagenrücklauf (\ r) ist wahrscheinlich Probleme verursachen, anstatt einen Vorteil zu geben. Sie sollten in der Lage sein, Befehle durch Zeilenumbrüche oder Semikolons zu trennen, wie andere vorgeschlagen haben. –
In Bezug auf die Sicherheit ist es im Allgemeinen ein komplizierter Prozess, Remote-Programmen die Ausführung beliebiger Befehle zu erlauben. Es ist am wenigsten ernst, wenn das Programm lokal mit den Rechten des entfernten Benutzers läuft; Wenn es mit irgendwelchen erhöhten Privilegien läuft, ist es schlimm. –