Web 应用渗透测试工具
有许多开源和商业的 Web 应用安全评估工具可以使用,例如:
1. Acunetix WVS/WVS11;
2. Netsparker Web Scanner;
3. IBM Rational Appscan Standard Edition;
4. HP Web Inspect Professional;
5. Paros Proxy etc.
相较于自动化技术,手动执行 Web 应用渗透测试任务依然是很好的选择,因为它可以在测试时提供更大的灵活性。手动执行 Web 应用安全评估包含多个步骤,根据你的测试目的(例如利用漏洞),这些步骤能够涵盖从信息收集到漏洞利用的全流程范围。 如何执行 Web 应用渗透测试任务
在明确 Web 应用的安全评估目标后,首先要做的事情就是信息收集。你需要尽可能多的收集靶标应用信息,这将有助于规划下一个阶段的渗透测试任务。例如识别所有提供公开服务的系统,靶标应用所使用的软件平台等。将 Web 应用名称或技术实现作为自定义关键字,在 Google、LinkedIn 或其他有效的在线社交网站进行信息收集,在此之后,你还应当搜寻并下载包含敏感信息(例如用户名和密码)的 Web 应用文件。
现在,通过 Web 应用的源代码或其他有效的在线资源,分析靶标应用所使用的技术实现。这是非常重要的步骤,因为这些信息有助于我们规划下一个阶段的渗透测试任务。
如果你使用自动化工具完成信息收集,那么分析靶标应用的技术实现将尤为重要,因为此类工具只能检测基于特定 Web 应用框架和编程语言的漏洞,无法有效识别所有漏洞信息。
我们始终建议通过由外向内(即,以提供公开服务的系统作为测试起点)的方式执行渗透测试任务,这将有助于我们从攻击者的角度了解其使用的攻击方式、攻击技术和攻击路径,更全面的分析 Web 应用暴露的攻击面。 如何提升 Web 应用渗透测试的效果
在开始 Web 应用渗透测试任务之前,需要完成大量的计划和准备工作。你需要清楚的意识到 Web 应用是非常复杂的系统,它是由许多技术实现组合而成,例如 Web 服务器 /Web 应用服务器、Web 应用框架或编程语言等,因此确定靶标应用使用了哪些技术实现是非常重要的。
某些工具只支持对特定类型的 Web 应用技术进行检测,例如:
Paros 支持检测由 PHP 技术开发的应用,不支持基于 ASP 技术开发的应用;
Acunetix WVS 可以自动识别运行在 Windows 服务器上的应用服务类别(即 Apache 或者 IIS),而在 Linux 环境中,需要在初始化阶段对应用服务类别进行手动配置,这是因为 Acunetix WVS 可以在 Windows 环境中进行自动检测,但是在 Linux 环境中却无法进行自动检测。