渗透测试的步骤有哪些?
渗透测试不能测试出所有可能的安全问题,它只是一个特定环境下才合适的WEB应用安全测试技术。OWASP的渗透测试方法是基于墨盒方法的,测试人员在测试前不知道或只知道很有限的关于被测试应用的信息。
操作方法
- 01
渗透测试被分成两大阶段: ■ 被动模式阶段 在这个阶段,测试人员试图去理解被测应用的逻辑,并且去使用它。可以使用工具去收集信息,例如,可以用HTTP代理工具去观察所有请求与响应。本阶段结束后,测试人员应该理解了应用的所有访问点(如,HTTP报头、参数和COOKIE)。信息收集一节将介绍如何进行被动模式的测试。 ■ 主动模式阶段 这个阶段里,测试人员将利用后述的9大类66种方法主动地去测试。
- 02
信息收集 安全评估的第一步是收集尽可能多的关于被测应用的信息。信息收集是渗透测试的必要步骤。通常使用公共工具(搜索引擎)、扫描器、发送简单或特别的HTTP请求等来迫使被测应用泄漏信息。
- 03
◆ 使用蜘蛛、机器人和爬虫 目标是浏览和捕获被测应用相关的资源。
- 04
◆ 搜索引擎发现与侦察 类似GOOGLE这样的搜索引擎可以用来发现被测应用中已经被公开的错误页面或WEB应用结构问题。
- 05
◆ 识别应用入口点 枚举被测应用及其攻击面是展开任何攻击的的一个关键性前提。
- 06
◆ 测试WEB应用指纹 应用指纹是信息收集的第一步。知道正在运行的WEB服务器的版本和类型后,测试人员可以确定已知的漏洞和测试过程中的相应攻击方法。获取WEB应用指纹的自动化工具Httprint和在线工具Netcraft。
- 07
◆ 应用发现 应用发现是一项面向驻留在WEB/应用服务器中的WEB应用识别的活动。这种分析很重要,因为没有一个链接直接连接到主要应用的后端。分析可以发现有助于揭示诸如用于管理目的的WEB应用程序的细节。此外,它可以揭示诸如取消删除的,过时的脚本文件,这些文件通常是在测试、开发或维护过程产生的。可能使用到的工具: 1、DNS查询工具,如nslookup, dig等。 2、端口扫描器和漏洞扫描器 3、搜索引擎(如Google)。 4、基于WEB的与DNS相关的专业服务,如Netcraft的DNS搜索服务
- 08
◆ 错误代码分析 在渗透测试过程中,WEB应用程序可能会泄露一些不应该被最终用户看到的信息。测试人员根据诸如错误代码之类的信息可以推测出应用所使用的技术和产品。在不当的异常处理设计与编码的情况下,错误代码通常不需要专门技能或工具就可以很容易地去调用它。显然,只注重于WEB应用不可能达到详尽的测试,它达不到通过更广泛地基础分析收集到的信息后对被测应用的理解程度。