如果你是 Web 安全专家、Web 渗透测试工程师或 Web 应用开发者,那么本文就是为你量身定制的。本文将从三个方面提供指导:首先,帮助你学习 Web 应用渗透测试技术,并了解相关工具;其次,告诉你如何在 Web 应用中寻找和测试漏洞;最后,指导你如何通过 Web 应用渗透测试技术提升 Web 应用的安全性。 Web 应用渗透测试
Web 应用渗透测试是一种识别和预防 Web 应用安全问题的方法。Web 渗透测试工程师依据自身对漏洞和渗透测试技术的理解,遵循科学的渗透测试流程,使用渗透测试工具识别 Web 应用中的安全风险,这些安全风险很可能被黑客或其他未经授权人员恶意利用。
Web 应用是专门为 Web 服务器设计和开发的程序,例如 Internet 信息服务(IIS)、Apache Tomcat 等。Web 应用的使用场景非常广泛,既可以是基于文本的简单计算器,也可以是类似亚马逊(Amazon)一样复杂的电子商务系统。这些电子商务系统同时运行着身份验证系统、数据库、网站等许多不同的服务。
要完成有效的 Web 应用渗透测试任务,需要具备丰富的 Web 应用技术知识,例如 Web 服务器、Web 应用框架和 Web 编程语言。 Web 应用渗透测试的优势
Web 应用渗透测试是检测 Web 应用漏洞和安全问题最有效的方法。通过 Web 应用渗透测试,能够判断 Web 应用是否存在脆弱性,这通常代表 Web 应用存在可以被黑客或未授权人员恶意利用的漏洞。在安全的环境中对 Web 应用进行渗透测试,可以避免因渗透测试导致的生产系统宕机。这有助于在用户数据遭到破坏之前发现 Web 应用的安全问题,使得我们有足够的时间修复漏洞。Web 应用渗透测试可以帮助 Web 安全专家了解 Web 应用的工作原理、Web 应用的技术实现以及攻击者利用的 Web 应用漏洞类型。这些可以帮助你更好的理解 Web 应用的攻击面,以便制定并实施有效的安全措施。 如何开展 Web 应用渗透测试工作
Web 安全专家使用各种工具和技术在其负责的 Web 应用上执行渗透测试任务。他们同样会制作自定义的测试用例,用来模拟真实世界中对 Web 应用靶标的攻击。 Web 应用渗透测试流程
了解靶标应用的工作原理(例如:靶标应用使用了哪些技术等)。使用自动或手动工具扫描靶标应用,寻找客户端代码(例如 Javascript、Flash 对象、Cookie 等)的漏洞,当发现漏洞后,尝试攻击此漏洞,以便找到造成该漏洞的根本原因,然后尽可能的尝试修复它。 Web 渗透测试人员通常会做的事情
·遍历 Web 应用目录和 Web 服务器;
· 判断靶标应用及其使用的技术实现(服务器、技术框架)和编程语言;
· 使用 Burp Suite 或 Acunetix 等工具进行手动渗透测试,以发现客户端代码(例如 Javascript、Flash 对象等)的漏洞;
· 使用 Netsparker 或 HP Web Inspect 等自动化工具扫描并识别 Web 服务器和相关技术框架中的已知漏洞。渗透测试人员在手动测试阶段发现的 Web 应用漏洞,也可以使用自动化工具进行攻击利用;
如有必要,对 Web 应用进行源代码分析,以便在 Web 应用部署至 Web 服务器之前,通过添加传入数据过滤器来修复安全问题。