- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Java 安全方面的新手;有一个基本问题。
我目前的理解是:
Subject.doAsPrivileged
中运行不受信任的代码。阻止。AccessController.doPrivileged
来完成此操作.我的问题是:是什么阻止了恶意代码插入 AccessController.doPrivileged
调用自己?
以我为例:
AccessController.doPrivileged
运行声明。那么是什么阻止了 Groovy 脚本运行一段显示 AccessController.doPrivileged ( some_malicious_code )
的代码? ?
最佳答案
你没弄对,使用 AccessController.doPrivileged
不会向 JVM 指示:
hey don't check what I'm doing you can trust me, I'm a nice guy!
它只是向JVM表明他不需要检查调用堆栈的其余部分是否具有足够的权限。
让 met 举个例子,假设我有一个类 A
,它调用第三方库 Foo
,它执行一些需要一些权限的代码。
默认情况下,当我调用 Foo
时不使用 AccessController.doPrivileged
,JVM 将检查完整的调用堆栈是否具有足够的权限,因此在我的策略文件中我需要为我的类 A
和我的第三方库 Foo
提供所需的权限。
如果在我的类 A
中,我将对第三方库 Foo
的调用包装在 AccessController.doPrivileged
中,我不需要为第三方库 Foo
提供权限,只有 A
仍然需要它们。
So what stops the Groovy script from running a piece of code that says
AccessController.doPrivileged ( some_malicious_code )
?
如果你的 groovy 代码没有执行恶意代码所需的权限,即使使用 AccessController.doPrivileged
调用它也无法执行该代码的原因前面已经描述过。
关于java - 运行 AccessController.doPrivileged 的恶意代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37962070/
我试图弄清楚一些遗留代码在做什么。这条线到底在做什么,为什么我需要这种方式? String lineSeparator = (String) java.security.AccessControlle
确实,在(签名的)小程序中,只有当我的小程序与 JavaScript 通信时,我才需要使用 AccessController.doPrivileged() ? 最佳答案 没有。如果不受信任的小程序访问
我设法用以下代码设置了一个“ Java沙箱”: // #1 new File("xxx").exists(); // #2 PrivilegedExceptionAct
我有这段代码,将 JavaServer 附加到 RMIRegistry,这是在 PrivilegedAction 中完成的 //start javaengineserver
如果我理解 AccessController.doPrivileged正确地说,不受信任的代码应该能够通过确实具有权限的中间方法调用需要权限的方法(例如System.getProperty())。 p
我是 Java 安全方面的新手;有一个基本问题。 我目前的理解是: 每当您需要限制不受信任的代码可以执行的操作时,实现此目的的方法之一是使用自定义安全策略,并在 Subject.doAsPrivile
例如,如果我在小程序类中使用此代码,请在小程序沙箱中运行它 public void init() { try { class doInit implements Privile
我正在尝试调用文件选择器选项并获取文件名作为输入。但是我得到了 java AccessControlException。当我使用网络浏览器启动小程序时,这工作正常,但在尝试使用小程序查看器时抛出异常。
我试图禁止在 AccessController.doPriviliged() 方法中创建线程。下面的方法创建并运行线程。我用 -Djava.security.manager 运行它。根据此链接,如果未
我在小程序中有以下通过 JavaScript 调用的方法 public String getAString() { Object rc = AccessController.d
我正在弄清楚如何在没有权限的情况下运行外部代码(来自不同的 JAR),这样它就不会损害我自己的系统。我几乎可以正常工作了,但是我发现了一个奇怪的情况,即调用 System.exit(0) 仍然会杀死整
我是java新手。我想在 Eclipse IDE 中运行一个简单的 hello world 应用程序。 public class Hello { public static void main
我正在查看一个被大量从 JavaScript 调用的签名 Applet。显然,与直接从 Java 内部启动的任何线程相比,源自 JavaScript 的线程受到更严格的沙箱化处理。例如,如果 Java
我正在尝试使用 Silverlight 进行一些归档并从 Javascript 访问结果。 Java 小程序可以通过 AccessController.doPrivileged 方法轻松完成此操作,例
我是一名优秀的程序员,十分优秀!