热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

这篇文章给大家介绍怎样解析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漏洞。

我们提交``,发现没有任何反馈,原因就是`nodeIntegration=false`。

此时,提交POC(Windows):

```



```

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

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

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


推荐阅读
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 前端开发:从底层到顶端的行业现象解析
    在编程领域,鄙视链现象屡见不鲜,从C语言到Java、.NET等,每个技术栈都有其独特地位。然而,前端开发者尽管常处于鄙视链底端,却在市场需求中备受青睐。本文深入探讨这一现象,并分析前端工程师如何在竞争激烈的市场中脱颖而出。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文探讨了如何在Node.js环境中,通过Tor网络使用的SOCKS5代理执行HTTP请求。文中不仅提供了基础的实现方法,还介绍了几种常用的库和工具,帮助开发者解决遇到的问题。 ... [详细]
  • 本文详细介绍了 Node.js 中 Worker.isMainThread 属性的功能、用法及其实例代码,帮助开发者更好地理解和利用多线程技术。 ... [详细]
author-avatar
青岛大学MBA校友件_176
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有