网页html代码中,可以通过<a href="mailto:xxxx">来设置电子邮箱链接。
在网页中,点击该链接,会启动一个默认的邮件客户端,比如windows的outlook。
当然也可以设置浏览器去打开其他的邮件客户端。
那么,浏览器是怎么知道这个邮件客户端在哪里的呢?下面以windows上的谷歌浏览器为例。
在点击邮件链接后,会产生两个重要的操作。第一个操作是读注册表(【图片太长被压缩,请右键“在新标签页中打开图片”】):
可见,邮件客户端可执行文件的位置以及参数,早就存在于注册表中,应该是软件安装的时候填入的,且是公认的位置,以便浏览器查找。
再重新观察浏览器的在创建进程方面的行为,可发现第二个重要操作(【图片太长被压缩,请右键“在新标签页中打开图片”】):
可见,有了从注册表中得到的可执行文件路径及参数,只需调用windows的CreateProcss函数就能启动邮件客户端了。
这样一来,如果注册表的相应位置被写入了恶意程序的路径,那么后果不堪设想。
可见,对windows注册表的保护是有多么重要。
时间: 2024-10-18 18:43:49