0x01 简介
大家好,今天和大家讨论的是自定义协议,在很多应用中,除了支持 http(s)
、file
、ftp
等开放的通用标准协议外,还会支持一些自定义协议,自定义协议常被用于实现特殊功能,比如深度集成应用程序与特定的网络服务、提升用户体验或实现安全的数据交换。
例如 vscode
就注册了 vscode:
协议,在浏览器中输入 vscode://xxx
就会唤醒 vscode
这就属于在系统层面全局注册了自定义的 vscode:
协议
在一些应用程序中,我们发现,调用资源不都是 http(s)
、file
这种,尤其像是加载插件之类的操作,内部用的也是类似于 vscode:
这种协议,这种就属于应用内注册自定义协议
今天的内容也是围绕着这两种情况进行讨论
公众号开启了留言功能,欢迎大家留言讨论~
这篇文章也提供了 PDF
版本及 Github
,见文末
-
0x01 简介
-
0x02 程序内部注册自定义协议
-
1. 效果展示
-
2. 注册协议到特定 session
-
3. protocol 模块的方法
-
0x03 全局注册自定义协议
-
1. 效果展示
-
2. app.setAsDefaultProtocolClient
-
3. app.removeAsDefaultProtocolClient
-
4. app.isDefaultProtocolClient
-
5. app.getApplicationNameForProtocol
-
6. app.getApplicationInfoForProtocol
-
0x04 漏洞案例
-
0x05 总结
-
0x06 PDF 版 & Github
-
原文始发于微信公众号(NOP Team):自定义协议 | Electron 安全
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论