Dans un laboratoire de sécurité des informations sur lequel je travaille, j'ai été chargé d'exécuter plusieurs commandes avec un seul appel à "system()" (écrit en C , fonctionnant sur Fedora). Quelle est la syntaxe qui me permettra d'exécuter plus de commande via system()? (L'idée étant que vous pouvez exécuter des commandes arbitraires via un programme en cours sur un ordinateur distant, si le programme interagit avec le système d'exploitation à travers le système() appel.)Utilisation d'un seul système() Appel pour exécuter plusieurs commandes dans C
Ie:
char command[] = "????? \r\n";
system(command);
Sauf si vous utilisez Windows, le retour chariot (\ r) est susceptible de causer des problèmes plutôt que de donner un avantage. Vous devriez être capable de séparer les commandes par des retours à la ligne - ou des points-virgules comme d'autres l'ont suggéré. –
En termes de sécurité, permettre aux programmes distants d'exécuter des commandes arbitraires est un processus complexe, en général. C'est moins grave si le programme s'exécute localement avec les privilèges de l'utilisateur distant; s'il fonctionne avec n'importe quel privilège élevé, c'est désastreux. –