攻 击应用程序的第一步是收集和分析与其有关的一些关键信息,以清楚了解攻击目标。解析过程首先是枚举应用程序的内容与功能,从而了解应用程序的实际功能与运行机制。我们可轻松确定应用程序的大部分功能,但其中一些功能并不明显,需要进行猜测和凭借一定的运气才能查明。
列出应用程序的功能后,接下来的首要任务就是仔细分析应用程序运行机制的每一个方面、核心安全机制及其(在客户端和服务器上)使用的技术。这样就可以确定应用程序暴露的主要受攻击面并因此确定随后探查过程的主要目标,进而发现可供利用的漏洞。我们在本章后面部分将讲到,通常在分析过程中就可以发现相关漏洞。
随着应用程序变得越来越复杂,功能越来越强大,有效的解析将成为一种重要技能。经验丰富的专家能够迅速对所有功能区域进行分类,参照各种实例查找不同类型的漏洞,同时花费大量时间测试其他特定区域,以确定高风险的问题。
本章将描述应用程序解析过程的主要步骤、各种可用来提高效率的技巧与窍门,以及一些帮助进行解析的工具。