1.1 Web应用渗透测试基础

Web应用是指那些将Web浏览器当做客户端的应用。这个范围可宽可窄。Web应用正是因服务访问方便和系统可集中管理而流行起来的。访问Web应用的条件就是要符合行业中Web浏览器客户端的标准,这就简化了对Web服务提供商和访问Web应用的客户端的要求。

Web应用是在所有企业内使用最为广泛的一种应用。它们是基于因特网的应用中的绝大多数,成为了事实标准。仔细想想智能手机和平板电脑,其实这些设备上的大多数应用也是Web应用。这就给专业安全人员和善于利用这些系统的攻击者创造了一个全新的、范围更广阔的多目标环境。

Web应用服务的种类繁多、业务用途广泛,因此Web应用渗透测试的范围也要因地制宜。Web应用的核心层包括托管服务器、访问设备以及数据仓库。在渗透测试中,各层级之间的通信也应列入测试范围。

这里介绍一个确立Web应用渗透测试范围的例子。假如我们要对一台Linux服务器进行渗透测试,它托管着各种移动设备上运行的应用,那么最小的工作范围应包括评估Linux服务器环境(操作系统、网络配置等),评估服务器上托管的Web应用,评估系统和用户间的身份验证,以及访问服务器的客户端设备和这三个层级之间的通信。其他可以列入测试范围的领域包括员工如何获取设备、除了访问这个Web应用之外设备还用于哪些用途、周边的网络环境、系统的维护以及服务器系统的用户。这里举两个例子,说明为什么也要考虑测试范围内的其他领域。比如这些Linux服务器可能会因允许被其他途径影响的移动设备连接而泄露机密信息,或是通过社交媒体获取已通过身份验证的移动设备而泄露机密信息。

在第8章中,我们会提供确定Web应用渗透测试范围的一些模板。本章中可以付诸实践的例子是提供一些可勾选的调查表,来辅助客户一步步确定Web应用渗透测试工作范围的可能目标。每项工作范围都应该能根据客户的业务目标、期望执行的时间段、分配的资金及需要的结果而进行定制。如前所述,模板可作为辅助确定工作范围的工具。