Web漏洞分析与防范实战:卷1
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.3 安全隐患

简而言之,URL Scheme功能允许通过URL启动本地应用程序,这无疑极大地提升了用户体验。然而,这也带来了一些安全隐患。例如,用户可能会通过浏览器无意中启动恶意程序,或者用户启动的应用程序可能具有可被利用的特殊功能(如删除文件、启动网络连接)。

除此之外,对于处理URL的相关应用,用户通常只是使用者或阅读者,而非编辑者。这意味着,URL可能会被攻击者恶意构造,从而实现远程启动本地应用程序的目的,如图1-7所示。

图1-7 攻击者可恶意构造URL

在操作系统中,哪些URL Scheme可以被调用呢?我们提供了3个脚本,以导出三大PC系统(Windows、MAC、Linux)下的URL Scheme。这些脚本均来源于参考链接[5]。

通过运行这些脚本,我们可以发现系统中有许多可调用的URL Scheme,其中既有操作系统默认支持的,如HTTP、FTP、Mailto,也有第三方应用程序支持的,比如QQ、Thunder等。如果这些应用程序存在安全隐患,例如支持删除文件、启动另一个程序等敏感操作,那么在URL Scheme的帮助下,这些安全问题可能会被远程触发。

除了应用程序可能存在的安全问题,浏览器(或其他程序)在解析URL并启动应用程序的过程中也可能出现安全问题。在这三方相互支持的过程中,仍然有可能出现安全问题。无论哪个环节出现安全问题,最终都可能在URL Scheme下被放大。

接下来,我们将对可能出现安全问题的环节进行分析,并通过示例进行说明。