【发布时间】:2010-09-19 17:22:48
【问题描述】:
在我正在从事的信息安全实验室中,我的任务是通过一次调用“system()”(用 C 语言编写,在 Fedora 上运行)执行多个命令。什么语法可以让我通过 system() 执行更多命令? (如果程序通过 system() 调用与操作系统交互,那么您可以通过远程计算机上运行的程序执行任意命令。)
即:
char command[] = "????? \r\n";
system(command);
【问题讨论】:
-
除非您在 Windows 上运行,否则回车 (\r) 可能会造成麻烦而不是带来好处。您应该能够按照其他人的建议通过换行符或分号来分隔命令。
-
在安全性方面,允许远程程序执行任意命令通常是一个令人担忧的过程。如果程序以远程用户的权限在本地运行,则最不严重;如果它以任何提升的权限运行,那就太可怕了。