- Web漏洞分析与防范实战:卷1
- 赵伟 杨冀龙 知道创宇404实验室
- 357字
- 2025-01-22 14:15:52
1.3.2 创建URL Scheme
那么,如何在操作系统中注册URL Scheme呢?不同的操作系统有着不同的实现方式,这里我们以Windows 7为例进行说明。
在Windows 7系统中,URL Scheme被记录在注册表的HKEY_CLASSES_ROOT下,例如mailto的相关字段,如图1-6所示。
若需创建新的URL Scheme,直接在HKEY_CLASSES_ROOT下进行添加即可,并确保在相应字段填入对应的值。所创建的子项名代表URL Scheme的功能名称。该子项下包含两个关键项:DefaultIcon和shell。其中,DefaultIcon项存储该功能所使用的默认图标路径;shell项下则需要进一步创设子项,例如命名为open,接着在open子项下再创建command子项(用于描述应用程序的路径以及相关参数)。
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/33_01.jpg?sign=1739432326-trLRHuwKopX2na79iTYW7ID4kGRaT5ba-0-b8324ffb8052a6ef095b2a5a346f17cd)
图1-6 URL Scheme被记录在注册表的HKEY_CLASSES_ROOT下
例如,创建calc以启动C:\Windows\System32\calc.exe:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/33_02.jpg?sign=1739432326-zr8IvK4l5uMUTNDBAtP6vSKhlInRhEth-0-0c27a16d5242db033cbe812fcfeb5f43)
在Windows系统中,实际上存在两种添加URL Scheme的方法。一种是直接在注册表中添加(即Pluggable Protocol),另一种是使用异步可插拔协议(即Asynchronous Pluggable Protocol),后者注册的URL Scheme协议会被记录在HKEY_CLASSES_ROOT\PROTOCOLS下。详细的信息在参考链接[1]中提供,此处不再展开说明。