首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >常见的Java漏洞有哪些?

常见的Java漏洞有哪些?
EN

Stack Overflow用户
提问于 2010-07-22 01:27:01
回答 4查看 4.7K关注 0票数 8

可以利用哪些常见的Java漏洞来获得对系统的某种访问权限?我最近一直在思考这个问题,但还没有想出太多的东西--整数溢出--也许?竞态条件-它给你带来了什么?

我并不是在寻找像“web应用中的sql注入”这样的东西。我正在寻找一个类似于buffer overflow - c/c++的关系。

有没有安全专家能帮上忙?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-06 00:14:03

在阅读了大部分回复后,我认为你的问题已经间接地得到了回答。我只是想直接指出这一点。Java不会遇到你在C/C++中看到的同样的问题,因为它保护开发人员免受这些类型的内存攻击(缓冲区溢出、堆溢出等)。这些事情是不可能发生的。因为在语言中有这种基本的保护,所以安全漏洞已经在堆栈中向上移动了。

它们现在发生在更高的水平上。SQL注入、XSS、DOS等。您可以找到一种让Java远程加载恶意代码的方法,但这样做意味着您需要利用服务层的其他一些漏洞来远程将代码推送到目录中,然后触发Java通过类加载器加载。从理论上讲,远程攻击是可能的,但对于Java来说,利用远程攻击更加复杂。通常情况下,如果你可以利用一些其他的漏洞,那么为什么不直接把java从循环中剔除呢?加载java代码的世界可写目录可能会被用来对付你。但在这一点上,问题真的是Java,还是您的系统管理员或其他可利用的服务的供应商?

这些年来,我在Java中看到的唯一可能导致远程代码的漏洞是来自VM加载的本机代码。libzip漏洞,gif文件解析等,这只是几个问题。也许每2-3年就有一次。同样,漏洞是由JVM加载的本机代码,而不是Java代码。

作为一种语言,Java非常安全。即使是我讨论的这些理论上可以攻击的问题,在平台中也有钩子来防止它们。签名代码阻止了大部分这方面的工作。但是,很少有Java程序在安装了安全管理器的情况下运行。主要是因为性能,可用性,但主要是因为这些贪婪的人在最好的情况下范围非常有限。Java中的远程代码加载还没有像上世纪90年代末/2000年代的C/C++中的缓冲区溢出那样流行。

作为一个平台,Java并不是无懈可击的,但它比树上的其他果实更难被利用。而黑客是投机取巧的,他们想要的是低垂的果实。

票数 1
EN

Stack Overflow用户

发布于 2010-07-22 01:44:22

恶意代码注入。

由于Java (或任何在运行时使用解释器的语言)在运行时执行链接,因此可以在运行时将预期的JAR(相当于DLL和SOs)替换为恶意JAR。

这是一个漏洞,从Java的第一个版本开始就使用各种机制与之抗衡。

java.*类加载器中的某些地方提供了保护,以确保不能从外部加载jar).

  • Additionally,.*类(可以设置运行时java.*安全策略,以确保从不同来源加载的类仅限于执行一组特定的操作-最明显的示例是
  • 。Applets受到Java安全策略模型的约束,不能读取或写入文件系统等;签名的applets可以请求特定的permissions.
  • JARs,也可以签名,这些签名可以在运行时验证,当它们的loaded.
  • Packages也可以被密封,以确保它们来自相同的代码源。这可以防止攻击者将类放入您的包中,但能够执行“恶意”操作。

如果您想知道为什么所有这些都很重要,可以想象一个注入到类路径中的JDBC驱动程序,它能够将所有SQL语句及其结果传输到远程第三方。好吧,我想你现在明白了。

票数 5
EN

Stack Overflow用户

发布于 2010-07-22 01:35:43

我不是安全专家,但是我们公司有一些模块是不能用java编写的,因为java字节码的反编译太容易了。我们研究了混淆,但如果你想要真正的混淆,它只会带来很多问题(性能影响/调试信息丢失)。

有人可以窃取我们的逻辑,用修改后的版本替换模块,这样会返回错误的结果,等等。

因此,与C/C++相比,我猜这是一个突出的“漏洞”。

我们还有一个内置在java模块中的软件许可机制,但这也可以通过反编译和修改代码来轻松破解。

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

https://stackoverflow.com/questions/3302054

复制
相关文章

相似问题

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