當前位置:
首頁 > 新聞 > 聽老外講解如何將XSS轉化為RCE

聽老外講解如何將XSS轉化為RCE

前言

Black Hat 2017可謂成果豐碩,除了各種安全工具和理論出現之外,也出現了許多新的安全研究方向,比如Doyensec的聯合創始人Luca Carettoni就介紹了關於Electron安全方面的新思路 https://twitter.com/lucacarettoni 。為了對他的這個思路有更深入的了解,我在會後和他討論了可能基於Electron應用程序的設計漏洞和運行漏洞,特別是在安全防護框架到位的情況下,黑客如何繞過這些漏洞,比如,也可以通過跨站腳本來呈現不可信內容來實現可靠的遠程執行代碼(RCE)。

了解nodeIntegration標誌

其實對信息安全方面有所了解的開發人員都知道,在整合了Node.js的應用中直接呈現不受信任的遠程或本地內容是非常危險的。正是出於這一方面的考慮,Electron框架提供了兩種不同的機制來幫助應用程序在「沙盒環境」中呈現不受信任的資源:

BrowserWindow機制

WebView機制

在上面的例子中,將nodeIntegration標誌設置為false。即使在渲染器進程中運行了Node.js引擎,頁面中運行的JavaScript將無法訪問全局引用。

尋找繞過nodeIntegration的方法

現在應該明白為什麼nodeIntegration是框架的關鍵安全相關設置,這種機制中的漏洞可能會導致完全的主機攻擊,簡單地渲染不受信任的網頁。作為一個網路極客,我使用這種漏洞將傳統的XSS變成了RCE。由於所有Electron應用程序都與框架代碼捆綁在一起,因此在整個生態系統中解決這些漏洞也是複雜的。

在我的研究中,我已經廣泛分析了所有的項目代碼變化,以發現先前發現的實際繞過案例,目的是研究Electron的設計漏洞。只有掌握了這些知識,才能找到繞過漏洞的辦法。

通過研究官方文檔,我很快就發現了Electron的「glorified」JavaScript API引起的與標準瀏覽器的顯著偏差。當創建一個新窗口時,Electron返回一個BrowserWindowProxy的實例。該類可用於操縱子瀏覽器窗口,從而顛覆同源策略(SOP)。

繞過SOP的第一種辦法:

繞過SOP的第二種辦法:

繞過SOP的第二種辦法使用的評估機制可以用下圖解釋:

另外的源代碼審查揭示了存在特權的URL(類似於瀏覽器的特權區域)。通過設計將SOP-bypass與在 lib/renderer/init.js中定義的特定特權URL相結合,我意識到我可以覆蓋nodeIntegration設置。

包括影響1.6.7版本之前的所有Electron發布的nodeIntegration繞過的簡單但可靠的Poc:

2017年5月10日,我通過Electron郵件向維護者報告了此問題。在幾個小時之內,我收到了一個答覆,他們已經在修復了,因為特權的chrome-devtools://在我報告的前幾天已經被發現。

緩解措施

1.升級到最新的Electron版本,因為Electron使用Chromium和Node.js,影響這些組件的漏洞可能會影響應用程序的安全性。通過將Electron更新到最新版本,你可以確保關鍵漏洞(例如nodeIntegration繞過)已經被修補,並且不能被利用來濫用你的應用程序。

2.採用安全編碼的方式,你的應用程序的第一道防線是你自己的代碼。通常的網路漏洞(如XSS)對Electron的安全性影響較大,因此強烈建議採用安全軟體進行應用搭建並執行定期的安全測試。

3.了解所使用的的框架,目前流行的瀏覽器所採用的特定規則以及安全機制並不能適用於Electron(例如同源策略),應採取深度防範機制來緩解這些漏洞。詳細信息,請參Electron木安全演示和Electron安全清單的白皮書。

4.使用最新的「沙箱」實驗功能,即使nodeIntegration被禁用,Electron的當前實現也不能完全緩解載入不可信資源引入的所有風險。因此,建議使用利用Chromium的沙箱功能。沙箱渲染器沒有運行Node.js環境(除了預載入腳本之外),渲染器只能通過IPC將任務委派給主進程來對系統進行更改。請注意,目前標籤等還不支持沙箱檢測。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

輕鬆審計代碼安全性,Windows 10有妙招
只因更新固件推送出錯 Lockstate智能鎖秒變磚
教你如何使用分組密碼對shellcode中的windows api字元串進行加密
CSS 2017 中國互聯網安全領袖峰會:安全新秩序、連接新機遇

TAG:嘶吼RoarTalk |

您可能感興趣

NFS及RPC講解
CELINE CLASSIC BOX 思琳經典復古豆腐包 細節講解
SMART裂紋擴展講解
Yoon Ahn 於 AMBUSH 發布會後台講解新系列看點
深入淺出講解BANCOR演算法
常用硬碟介面IDE、SATA、mSATA、M.2SATA、M.2PCIE NVMe講解
乾貨!超全面的DCS、FCS、PLC講解文章,錯過你就虧大了!
CSS3實現動畫代碼講解
RNG戰勝KZ後韓國LCK解說撕心裂肺講解,LPL網友評論卻秀出了一片天
Magic Leap CEO專訪,講解為何ML1沒用光場技術
CHiQ Q5N講解
專家講解「腸療SPA」是什麼
Survios CTO將在線開課,實戰講解VR項目開發
Spring IoC講解
使用Keras進行深度學習:(五)RNN和雙向RNN講解及實踐
英偉達這樣講解什麼是AR、VR、MR及相應區別
IDE,AHCI,Compatible,Enhanced,PATA講解
PPT 真題講解
HTTPS安全證書訪問連接知識講解
英偉達這樣講解什麼是AR、VR、MR,及相應區別