gpt4 book ai didi

java - 表达式类中的execute()

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:02 25 4
gpt4 key购买 nike

Java7 中的最新安全漏洞,小程序可以在用户计算机上执行不受信任的代码。更多信息请访问http://www.h-online.com/security/features/The-new-Java-0day-examined-1677789.html .

但我的问题是:提到这一切都是可能的,因为在Expression类中引入了execute()方法。但它并没有什么特别之处,这在以前的版本中是不可能的。来源如下:

 @Override
public void execute() throws Exception {
setValue(invoke());
}

对于自 java1.4 以来就存在的 getValue():

 public Object getValue() throws Exception {
if (value == unbound) {
setValue(invoke());
}
return value;
}

getValue() 执行execute() 执行的所有操作。那为什么还要对execute方法如此大惊小怪呢?

最佳答案

如果仔细观察,漏洞利用代码还会调用 .getValue()。显然,该漏洞存在于 invoke 中。 execute本质上是一个调用私有(private)invoke的公共(public)接口(interface)。

关于java - 表达式类中的execute(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12216792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com