可能重复:
从C,C++在Linux中发出系统命令
我在一些文字上看到在linux编程中使用system()调用并不好,我想知道它的真正原因是什么?它应该消耗更多的内存,也许更多的CPU.除了这些可能是什么原因?
例如,如果我输入system("echo 1 > file");而不是使用fopen(), fwrite()黑客在我的程序/ linux系统中可以做什么?我看到system()因安全问题而不建议.但是一个人如何因为使用system()调用而破解linux系统呢?如果有人能够明确地解释使用system()可能会变坏的话,我会很高兴.
system("echo 1 > file");字面上使用不是安全风险,只是不必要的执行另一个您不需要的过程.
当您以编程方式构建字符串然后使用它时,会出现风险system().然后你有Shell命令注入的风险,你认为你正在构建一个命令,但恶意用户通过给你精心设计的输入来破坏你的程序,导致你的命令做你没想到的事情.
| 归档时间: |
|
| 查看次数: |
8201 次 |
| 最近记录: |