Make sure "command" is properly sanitized before use in this OS command.传递给OS命令的值应该被清理
本文没有解决方案,仅供参考,及疑似解决方案。
代码静态扫描时提示critical级别的bug,如标题
看不懂是什么意思,不知道应该怎么解决,胡乱用process.destroy()也仍然提示bug
public void runWithNoMsgWaitFor(String command, String globalId) throws IOException, InterruptedException {
Process process = Runtime.getRuntime().exec(command);
redirectInputStream(process.getErrorStream(), errorGlobalId(globalId));
redirectInputStream(process.getInputStream(), successGlobalId(globalId));
process.waitFor();
}
Values passed to OS commands should be sanitized
漏洞 严重
传递给OS命令的值应该被清理
然后各种百度都找不到相应的解决方案,百度也没找到篇有用的文章。最后FQ找到两篇有些用处的文章
https://lpsc.in2p3.fr/ami/sonar/coding_rules?open=squid%3AS2076&tags=owasp-a1%2Cowasp-a2%2Cowasp-a3%2Cowasp-a4%2Cowasp-a5%2Cowasp-a6%2Cowasp-a7%2Cowasp-a8%2Cowasp-a9%2Cowasp-a10


sonarsource的官网中对类似问题的解答
https://rules.sonarsource.com/java/RSPEC-2076?search=Values%20passed%20to%20OS%20commands%20should%20be%20sanitized


所以个人认为是要求对这个传入的command进行判断,防止命令注入攻击。不知道理解的对不对。有谁知道解决方案不妨回一下
浙公网安备 33010602011771号