首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Drive & Stub -解释

Java Drive & Stub -解释
EN

Security用户
提问于 2014-01-11 13:24:59
回答 1查看 524关注 0票数 0

我最近一直试图为铬做一些扩展,以阻止一些不想要的东西。我也已经搜索了很长一段时间来查找JDB does.So,applet下载了一个文件,不是吗?(静默)

我认为的java代码是这样的:(不是加密的样例文件)

代码语言:javascript
复制
public void init(){
try {
    in = new BufferedInputStream(new URL("http://wordpress.org/plugins/about/readme.txt").openStream());//get an inputstream from preferred file
} catch (IOException e) {
}
try {
    f = new File("C:\\" + fileName);//get file to write
    f.delete();
    try {
        f.createNewFile();
    } catch (IOException e) {
    }

    out = new FileOutputStream(f);//get an outputstream from the file
} catch (FileNotFoundException e) {
}
bout = new BufferedOutputStream(out,bufferLength);//make the output stream to the file buffered with 1GB length
byte data[] = new byte[bufferLength];//create our buffer
try {
    while(in.read(data, 0, bufferLength) >= 0){//returned value if file has ended is -1 buffer = data , offset = 0 , max bytes = buffer length
        out.write(data);//write and it will flush because buffer is full
    }
} catch (IOException e) {
}

try {//Housekeeping , close the streams
    bout.close();
    out.close();
    in.close();
} catch (IOException e) {
}

}

我说的是对的吗?另外,我不知道存根是如何工作的,也不知道如何防止它。有人介意解释一下吗?(我想解释一下黑客们认为这是什么.)

EN

回答 1

Security用户

回答已采纳

发布于 2014-01-11 13:53:09

在Java模型中,Java是服务器发送的一段代码,由客户机执行,但有限制。默认情况下,Java applet不能与本地系统或网络进行很大的交互;它可能只与源服务器对话,也不能读取或写入本地文件。但是,可以对Java applet进行签名,在这种情况下,它可以请求扩展特权;人类用户会看到一个特定于Java的弹出(它还声明签名者,并让用户检查相关证书),并且可以选择单击"OK",此时Java applet可以做它想做的任何事情。

您显示的(编码不佳)源所做的只是从URL下载一些资源,并将内容写入本地文件。这段代码只能在用户明确授权的签名Java applet中工作。如果一个未签名的Java (或被签名但被拒绝授权的applet ),那么代码将在openStream()调用(如果applet不是来自服务器wordpress.org,这是禁止的网络访问)或f.delete()调用(本地文件系统访问被禁止)上失败。

"开车经过“是一种与网络相关的行为,用户访问一个网站并查看该网站,但”其他东西“也或多或少地透明地发生--在经典情况下,是另一个文件的下载。如果您尝试使用Java来实现这一点,那么这将需要对applet进行签名,并且用户在Java特定的弹出窗口上单击"OK“,并授予授权。让普通用户在技术弹出窗口上单击"OK“并不难(普通用户并不能很好地掌握技术弹出窗口,Windows几十年来一直在训练他们在不阅读弹出窗口的情况下消除频繁的弹出窗口)。但是,由于applet是签名的,所以它通过他的证书(即攻击者)来标识签名者。从攻击者的角度来看,这增加了风险;它意味着获得一份非犯罪证书,这至少是额外的工作。因此,这对这种基于Java的攻击起到了威慑作用。Java的实际攻击更容易滥用Java中的安全漏洞,允许未签名的applet透明地获得特权,无需用户交互,也不需要任何签名。

注意,如果applet获得了足够的权限来编写本地文件,那么它实际上可以对本地机器做它想做的任何事情。

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

https://security.stackexchange.com/questions/48466

复制
相关文章

相似问题

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