我正在尝试编写在linux命令行中调用命令的C++代码,并且我正在使用HP Fortify检查代码中的漏洞。熟悉HP Fortify源码分析器的人能否告诉我是否可以在没有得到HP Fortify的低威胁警告的情况下使用C++代码中的system()linux调用(低:Command Injection:semantic)?如果我在写入程序和/或调用文件的完整路径时硬编码输入到system()函数,是否仍然存在命令注入的威胁?我不明白给它输入比输入硬编码更安全的方法。我应该忽略system()函数并找到另一种方法从我的C++代码调用命令到linux命令行吗?HP Fortify分析结果system()命令注入
编辑:我尝试使用execv()而不是system()来调用一个程序,但它仍然给我使用execv()的命令注入警告。
环境变量,也可以攻击面的一部分,e.g:如弹震漏洞。 – ninjalj