与任何其他应用程序一样,Web应用程序也依赖于支持它的其他技术栈(technology stack),包括Web服务器、操作系统与网络基础架构。这些组件中的任何一个都可能成为攻击者的目标,应用程序依赖的技术往往可使攻击者能够完全攻破整个应用程序。
本书主要讨论渗透测试员如何攻击Web应用程序,因此大多数上述这种类型的攻击不在本书的讨论范围之内,但针对Web服务器层的攻击例外。Web服务器与在它上面运行的应用程序密切相关,攻破基础主机后,攻击者经常利用Web服务器中存在的漏洞直接而非间接攻击应用程序。
本章主要讨论如何利用Web服务器中存在的漏洞攻击其上运行的Web应用程序。当攻击Web服务器时,渗透测试员可以利用的漏洞分为两大类:服务器配置缺陷和Web服务器软件漏洞。
17.1 Web服务器配置缺陷
即使最简单的Web服务器也带有大量控制其行为的配置选项。以前发布的许多服务器含有不安全的默认选项,如果不对它们进行强化,可能会使攻击者有机可乘。 |