zoukankan      html  css  js  c++  java
  • 安全性测试:OWASP ZAP 2.8 使用指南(一):安全测试基础及ZAP下载、安装

    概览

    本文意在对于OWASP's Zed Attack Proxy(ZAP)软件做一个基本使用指南介绍。

    ZAP是一个用于实施安全性测试的工具,即使没有很强的安全测试背景也可以很好的使用。

    为了达到这一目的,本文会包含一些安全测试概念和术语,但是本文并不会就ZAP或安全测试进行过于深入的讨论。

     

    安全测试基础

    软件系统安全性测试,是一个评估和测试系统,以发现系统和数据安全性风险和漏洞的过程。

    安全性测试并没有统一的方法论,不过我们将这一过程描述为“不以滥用为目的的发现系统的漏洞的行为”。

    常见的安全性测试类型可以分为以下几种:

    脆弱性评估 – 通常通过工具扫描的形式,评估系统安全性

    渗透性测试 – 系统被分析并且通过模拟攻击的形式,评估其安全防御能力

    运行时测试 – 通过终端用户的测试来评估系统安全性

    代码审查 – 系统代码被评估和审查,以确定系统安全防御能力

    注意(产品)风险评估并不包含在这个列表内。这是因为风险评估实际上并不是一种测试,而是对于不同风险的一种预估和分析,以及对于相应风险规避举措的拟定。

     

    关于渗透性测试

    渗透性测试,由测试人员扮演外部攻击者的角色,目标在于攻破系统以达到盗取数据或类似于拒绝服务攻击等目的。

    渗透性测试的优势在于很少误报安全性问题(其它类型的测试,报出的安全性问题很多时候并不会真实构成被攻击风险)。

    但是渗透性测试也是一种非常耗时的测试。

    渗透性测试也用来测试系统防御机制,验证响应计划,并且确定安全性策略的遵循。

    自动化的渗透测试是持续集成验证的重要部分,他有助于发现新的安全性风险,也能很快的发现在快速迭代过程中出现的安全性回退。

     

    渗透性测试过程

    手工渗透测试和自动化渗透测试都经常被使用,通常以结合起来的形式,来测试从服务器,到网络,到设备,到终端的所有链路。

    本文则主要瞩目于Web应用或者说网站渗透性测试。

    渗透性测试通常遵循以下阶段:

    探索 – 测试人员学习被测系统。包括了解整个系统体系内被使用的部件,包括哪些终端,对于软件和系统而言安装了哪些补丁,等等。

    这个过程中测试人员也会查找系统内的隐藏内容,已知安全风险,以及其它漏洞的表现。

    攻击 – 测试人员尝试利用已知风险或可疑的漏洞,以证明这些风险和漏洞的存在。

    报告 – 测试人员将测试的结果进行汇报,包括发现的系统漏洞,以及漏洞是如何被利用的,利用这些漏洞的困难程度,以及漏洞被利用的严重性。

     
     

    渗透性测试目标

    渗透性测试的终极目标在于搜寻系统的漏洞,这样这些漏洞可以被处理。

    也可以用来确定系统不会被一些已知的风险所影响。

    当系统漏洞被被修复以后,重新进行渗透性测试以确定系统漏洞已被弥补。

     

    ZAP简介

    Zed Attack Proxy (ZAP)是一个免费开源的渗透性测试工具,由OWASP组织开发和维护。

    ZAP被设计用来专门测试Web应用的安全性,并且具有非常强的灵活性和可扩展性。

    ZAP的核心机制是大家耳熟能详的“中间代理”。他通过架设在测试人员的浏览器和Web应用服务之间,这样他就可以拦截和审查浏览器和应用服务之间的信息交互。

    必要的情况下,ZAP可以完成改包和重发。

    如果已经有一个网络代理存在,ZAP也可以被配置为连接到已存在的代理。

    ZAP提供了一系列针对不同安全技能等级的功能 - 从开发,到安全测试新手,到安全测试专家。

    ZAP支持所有主流的操作系统以及Docker,并不强制绑定使用某一OS。

    同时在ZAP客户端中的ZAP Marketplace中,也提供了非常多的免费的附加组件,以提供多种功能。

    由于ZAP是一个开源软件,我们也可以查看他的源码,了解其功能的实现方法。

    所有人都可以资源为ZAP贴砖加瓦,包括修复bug和增添功能。

    安装和配置

    ZAP提供了Windows, Linux以及Mac OS/X的安装包。

    也提供了Docker镜像,下载地址可以在下文中找到。

     

    安装

    首先,在系统实施渗透性测试的系统中安装好ZAP。从以下地址下载适合你系统的ZAP安装包,并且执行:

    https://github.com/zaproxy/zaproxy/wiki/Downloads

    注意ZAP需要JDK8以上的版本来运行,所以安装的系统上需要预先安装JDK8以上版本。

    Docker版不需要安装Java。

    安装完成以后,就可以启动ZAP了。

    .

    保持会话

    第一次启动ZAP,会被问到你是否要保持ZAP会话。

    ZAP会话会默认以预设的名称和地址,记录到磁盘中的HSQLDB数据库中。

    如果你不希望保持会话,那么在你退出ZAP时,这些会话文件会被删除。(意味着下次启动ZAP将无法看到之前的操作/测试记录)

    如果选择保持会话,会话信息会被保存到本地数据库,这样下次使用时可以继续上次的操作。

    选择保持会话,会提示为本次会话命名并选择存放地址。

    第一次使用时,可以保持默认选项并开始,这样本次会话将不会被保持。

  • 相关阅读:
    Informatica 常用组件Lookup缓存之五 使用动态查找高速缓存
    Informatica 常用组件Lookup缓存之四 使用不高速缓存的查找或静态高速缓存
    Informatica 常用组件Lookup缓存之三 重建查找高速缓存
    Golang入门教程(十一)beego 框架之RESTful Controller 路由
    PHP7 学习笔记(十二)PHPExcel vs PhpSpreadsheet and PHP_XLSXWriter
    PHP7 学习笔记(十二)gRPC
    PHP7 学习笔记(十一)使用phpstudy快速配置一个虚拟主机
    Golang入门教程(十)内建函数
    Golang入门教程(九)复合数据类型使用案例二
    Golang入门教程(八)复合数据类型使用案例一
  • 原文地址:https://www.cnblogs.com/dayu2019/p/11543196.html
Copyright © 2011-2022 走看看