首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CLASSPATH安全

CLASSPATH安全
EN

Ask Ubuntu用户
提问于 2018-05-18 23:44:58
回答 1查看 276关注 0票数 1

在这个帖子上,有人在评论中提到,将.:添加到PATH环境变量是一个安全漏洞。将.:添加到CLASSPATH环境变量也是一个安全漏洞吗?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-05-19 02:24:49

是的,这可能是一个安全漏洞。

.:放在CLASSPATH的前面意味着Java在搜索其他CLASSPATH路径之前使用当前目录下的类。这意味着将使用当前目录或其子目录中的.class文件来代替任何类或接口。例如,如果文件./java/lang/String.class存在,它将被使用而不是标准的String类。

这意味着,如果您在运行Java程序时没有注意当前目录是什么,程序可能会加载恶意类来代替任何类。

为了避免每次运行Java程序时都要费力地检查当前目录,您不应该默认设置系统。

如果在运行特定的Java程序时要使用当前目录下的类,则通常应该跳过设置CLASSPATH并将-cp参数改为java,如下所示:

代码语言:javascript
运行
复制
java -cp ".:…" …

这完全避免了通过CLASSPATH环境变量影响其他Java程序。只有在您知道当前目录下的文件不是恶意文件时,才应该这样做。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1037917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档