web应用渗透测试的优势
web 应用渗透测试是检测 web 应用漏洞和安全问题最有效的方法。通过 web 应用渗透测试,能够判断 web 应用是否存在脆弱性,这通常代表 web 应用存在可以被黑客或未授权人员恶意利用的漏洞。在安全的环境中对 web 应用进行渗透测试,可以避免因渗透测试导致的生产系统宕机。这有助于在用户数据遭到破坏之前发现 web 应用的安全问题,使得我们有足够的时间修复漏洞。
web渗透测试人员需要做的事情
遍历 web 应用目录和 web 服务器;
判断靶标应用及其使用的技术实现(服务器、技术框架)和编程语言;
使用 Burp Suite 或 Acunetix 等工具进行手动渗透测试,以发现客户端代码(例如 Javascript、Flash 对象等)的漏洞;
使用 Netsparker 或 HP web Inspect 等自动化工具扫描并识别 web 服务器和相关技术框架中的已知漏洞。渗透测试人员在手动测试阶段发现的 web 应用漏洞,也可以使用自动化工具进行攻击利用;
如有必要,对 web 应用进行源代码分析,以便在 web 应用部署至 web 服务器之前,通过添加传入数据过滤器来修复安全问题。
如何执行 web 应用渗透测试任务
在明确 web 应用的安全评估目标后,首先要做的事情就是信息收集。你需要尽可能多的收集靶标应用信息,这将有助于规划下一个阶段的渗透测试任务。例如识别所有提供公开服务的系统,靶标应用所使用的软件平台等。将 web 应用名称或技术实现作为自定义关键字,在 Google、LinkedIn 或其他有效的在线社交网站进行信息收集,在此之后,你还应当搜寻并下载包含敏感信息(例如用户名和密码)的 web 应用文件。
现在,通过 web 应用的源代码或其他有效的在线资源,分析靶标应用所使用的技术实现。这是非常重要的步骤,因为这些信息有助于我们规划下一个阶段的渗透测试任务。
如果你使用自动化工具完成信息收集,那么分析靶标应用的技术实现将尤为重要,因为此类工具只能检测基于特定 web 应用框架和编程语言的漏洞,无法有效识别所有漏洞信息。
一般情况下主要是通过由外向内(即以提供公开服务的系统作为测试起点)的方式执行渗透测试任务,这将有助于我们从攻击者的角度了解其使用的攻击方式、攻击技术和攻击路径,更全面地分析 web 应用暴露的攻击面。