我有一个可执行的jar文件。 java代码包含很多System.out.println语句。有时,这些打印语句包含密码和类似的东西。
我已编译成可执行jar。没有显示控制台。我正在考虑为安全目的删除所有System.out.println语句,但由于没有控制台可能没有必要吗?
我的问题是可以攻击System.out.println()。换句话说,使用jar文件的人可以获得System.out.println
打印出的内容答案 0 :(得分:11)
绝对 - 他们可以从命令行启动您的应用程序,而不是双击jar文件,并显示任何控制台输出 。
或者,他们可以编写自己的包装类,将System.out
重定向到文件。
但从根本上说,如果你的jar文件中有任何安全敏感信息,那么提取它会相当容易。目前尚不清楚相关密码是否是用户输入的内容,或者密码是否嵌入到jar文件中 - 但是将其写入控制台至少听起来像个坏主意