Java下的命令执行常用的两种方式:
1.使用ProcessBuilder
ProcessBuilder pb=new ProcessBuilder(cmd);
pb.start();
2.使用Runtime
Runtime.getRuntime().exec(cmd)


由此可见:
Runtime.getRuntime().exec()的底层实际上也是ProcessBuilder。
也就是说上面cmd参数可控的情况下,均存在命令执行的问题。
参考链接:Java下奇怪的命令执行
1.使用ProcessBuilder
ProcessBuilder pb=new ProcessBuilder(cmd);
pb.start();
2.使用Runtime
Runtime.getRuntime().exec(cmd)


由此可见:
Runtime.getRuntime().exec()的底层实际上也是ProcessBuilder。
也就是说上面cmd参数可控的情况下,均存在命令执行的问题。
参考链接:Java下奇怪的命令执行

被折叠的 条评论
为什么被折叠?