听老外讲解如何将XSS转化为RCE

前言
Black Hat 2017可谓成果丰硕,除了各种安全工具和理论出现之外,也出现了许多新的安全研究方向,比如Doyensec的联合创始人Luca Carettoni就介绍了关于Electron安全方面的新思路 https://twitter.com/lucacarettoni 。为了对他的这个思路有更深入的了解,我在会后和他讨论了可能基于Electron应用程序的设计漏洞和运行漏洞,特别是在安全防护框架到位的情况下,黑客如何绕过这些漏洞,比如,也可以通过跨站脚本来呈现不可信内容来实现可靠的远程执行代码(RCE)。了解nodeIntegration标志
其实对信息安全方面有所了解的开发人员都知道,在整合了Node.js的应用中直接呈现不受信任的远程或本地内容是非常危险的。正是出于这一方面的考虑,Electron框架提供了两种不同的机制来帮助应用程序在“沙盒环境”中呈现不受信任的资源: BrowserWindow机制

寻找绕过nodeIntegration的方法
现在应该明白为什么nodeIntegration是框架的关键安全相关设置,这种机制中的漏洞可能会导致完全的主机攻击,简单地渲染不受信任的网页。作为一个网络极客,我使用这种漏洞将传统的XSS变成了RCE。由于所有Electron应用程序都与框架代码捆绑在一起,因此在整个生态系统中解决这些漏洞也是复杂的。 在我的研究中,我已经广泛分析了所有的项目代码变化,以发现先前发现的实际绕过案例,目的是研究Electron的设计漏洞。只有掌握了这些知识,才能找到绕过漏洞的办法。 通过研究官方文档,我很快就发现了Electron的“glorified”JavaScript API引起的与标准浏览器的显着偏差。当创建一个新窗口时,Electron返回一个BrowserWindowProxy的实例。该类可用于操纵子浏览器窗口,从而颠覆同源策略(SOP)。 绕过SOP的第一种办法:




缓解措施
1.升级到最新的Electron版本,因为Electron使用Chromium和Node.js,影响这些组件的漏洞可能会影响应用程序的安全性。通过将Electron更新到最新版本,你可以确保关键漏洞(例如nodeIntegration绕过)已经被修补,并且不能被利用来滥用你的应用程序。 2.采用安全编码的方式,你的应用程序的第一道防线是你自己的代码。通常的网络漏洞(如XSS)对Electron的安全性影响较大,因此强烈建议采用安全软件进行应用搭建并执行定期的安全测试。 3.了解所使用的的框架,目前流行的浏览器所采用的特定规则以及安全机制并不能适用于Electron(例如同源策略),应采取深度防范机制来缓解这些漏洞。详细信息,请参Electron木安全演示和Electron安全清单的白皮书。 4.使用最新的“沙箱”实验功能,即使nodeIntegration被禁用,Electron的当前实现也不能完全缓解加载不可信资源引入的所有风险。因此,建议使用利用Chromium的沙箱功能。沙箱渲染器没有运行Node.js环境(除了预加载脚本之外),渲染器只能通过IPC将任务委派给主进程来对系统进行更改。请注意,目前<webview>标签等还不支持沙箱检测。本文翻译自:https://blog.doyensec.com/2017/08/03/electron-framework-security.html ,如若转载,请注明来源于嘶吼: http://www.4hou.com/technology/7108.html
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 三个关键词看习主席俄罗斯之行 7904799
- 2 斯凯奇宣布退市 7809007
- 3 央行证监会等将重磅发声 7714584
- 4 外贸企业如何突出重围 7618329
- 5 默茨当选德国总理 7521566
- 6 90后小伙11年探获3座金矿 价值千亿 7425426
- 7 小米汽车回应智驾更名:响应国家号召 7328348
- 8 北约12国1.6万兵力直逼俄边境 7235806
- 9 公司成立仅6天就拍得水库经营权 7138348
- 10 中国女游客为捞相机命丧87米海底 7044758