zoukankan      html  css  js  c++  java
  • 安全性测试:OWASP ZAP 2.8 使用指南(二):ZAP基础操作

    ZAP桌面应用

    ZAP桌面应用的UI由以下元素组成:

    1. 菜单栏  – 提供多种自动化和手动工具的访问

    2. 工具栏  – 提供快速访问最常用组件的用户接口

    3. 树结构窗口  – 展示被测网站树结构和脚本树

    4. 工作站窗口  – 展示请求,反馈以及脚本,并且允许编辑他们

    5. 信息窗口 – 展示工具执行的详细结果

    6. 页脚 – 展示主要自动工具的执行状态以及警告的汇总

    在使用ZAP时,你可以点击菜单栏中的帮助或者按F1来查看ZAP桌面应用的用户指引。

    更多信息请查看ZAP在线帮助文档。

    ZAP也支持API和命令行运行的功能,不过本文中暂不讨论。
     

    重要:

    只可以在当你有权使用主动攻击的方式测试某一应用时才可以使用ZAP。

    因为ZAP的运作方式会让应用如同遭受真实攻击,应用的功能和数据都有可能因此受损。

    如果你担心使用ZAP会给被测应用带来风险,你可以切换到安全模式(ZAP的可用功能会大大减少)。

    要切换成安全模式,点击主菜单栏的“模式”下拉菜单选择安全模式。

     

    运行自动扫描

    最简单使用ZAP的方式就是通过快速开始菜单。

    快速开始是在你安装ZAP时默认添加的一个附加组件。

    要执行一次快速开始的自动扫描:

    1. 启动ZAP并且在工作站窗口中点击快速开始。

    2. 点击自动扫描按钮。

    3. 在URL栏中,填入将被扫描的Web应用的URL。

    4. 点击“攻击”按钮。

     ZAP会进一步使用爬虫技术爬取Web应用,并且被动扫描爬到的每一个页面。

    然后ZAP会使用主动扫描器去攻击所有发现的页面、功能和参数。

    ZAP提供了两种用来爬取Web应用的爬虫,用户可以选择使用。

    传统的ZAP爬虫会通过Web应用反馈的HTML查找链接。

    这种爬虫速度快,但是对于使用AJAX技术通过JavaScript来生成链接的应用而言,显得不那么有效。

    对于AJAX应用,ZAP的AJAX爬虫会更加有效。这种爬虫会通过唤起浏览器进程来探索Web应用,并且会追踪动态生成的链接。

    AJAX爬虫比传统爬虫速度要慢,并且在无界面模式下要求进一步配置才能使用。

    ZAP会被动扫描所有以代理形式接收到的请求和反馈。

    到这一步为止,ZAP还只做了被动扫描。被动扫描不会以任何形式改动任何反馈信息,所以相对是安全的。

    这种扫描是在后台线程中执行的,并不会减缓扫描速度。

    被动扫描有助于发现部分问题,并且提供一些基础的Web安全性信息,帮助进一步确定测试方向。

    主动扫描,则会通过一些预设的攻击来达到发现更多漏洞的目的。

    对于被测目标而言,主动扫描会发起真实的、可能造成损失的攻击。

    所以不要对你没有测试权限的目标进行主动扫描。

    解读测试结果

    当ZAP爬取你的Web应用时,他会创建这个应用的页面结构图,以及加载这些页面用到的资源文件。

    然后他会记录每个页面的请求和反馈,并且就这些请求和反馈中可能的安全性问题发出警告。

    在ZAP的站点视图里,我们可以以树结构查看扫描到的所有URL。

    查看警告和警告详情。

    页脚的左手边列出了在测试过程中发现的警告数目,以不同的风险级别归类。

    这些风险类型是:

    要查看测试中的警告信息:

    1. 在信息窗口中点击警告标签

    2. 点击单个警告,将在右侧信息窗口展示被测URL以及所发现的漏洞

    3. 在工作台窗口,可以查看请求反馈的头部和反馈体,有漏洞的部分将被高亮显示。

    手动扫描应用

    被动扫描和自动攻击功能对于开始检查你的Web应用漏洞时一个很好的方法,但是也有很多局限。

    比如:

    •  任何需要用户鉴权的页面都无法被被动扫描,除非你配置了ZAP的鉴权功能,否则ZAP不会处理所需的权限授权。

    •  对于被动扫描和自动攻击所执行的攻击类型而言,测试人员并无太多控制能力。事实上ZAP还提供了多种扫描和攻击能力。

    爬虫可以很好的基本探索一个站点,但是只有结合手动探索才能更高效。

    举个例子来说,爬虫在遇到表单时,只会填入基本的默认信息。但是用户可以填写更相关的信息,这样又可以为ZAP提供更多该站点的信息。

    对于需要真实邮件地址来完成注册的页面以及类似的页面尤其如此。

    爬虫可能会填入随机字串,然后得到报错。

    用户则可以根据报错提供合法输入,这样当表单正确提交后,又有更多站点的内容可以被访问并被爬取到。

    你应该在ZAP代理下访问你的整个Web应用。

    这样做的好处是,当你手动访问站点时,ZAP会被动扫描访问过程中触发的请求和反馈,并检查其中的漏洞,进一步完成站点树结构,记录扫描到的所有漏洞警告。

    让ZAP访问到你的Web应用的所有页面是很重要的,以求探明所有页面之间的链接。

    如果存在隐藏的页面,这是不安全的,因为这些页面可能在没有被注意的情况下就被发布上线。

    所以在手动访问站点时,尽可能做到全面。

    通过快速开始菜单,你可以快速的启动ZAP代理的浏览器。

    通过这种方式打开的浏览器也会无视任何证书警告。

    手动访问站点:

    1. 启动ZAP,点击工作台窗口中的快速开始按钮

    2. 点击手动访问

    3. 在URL框体内填入要访问的URL

    4. 选择要使用的浏览器

    5. 点击启动浏览器按钮

    这样可以以全新的用户配置(profile)启动你安装的浏览器。

    如果你想带上已有的用户配置,比如说已安装的浏览器插件等,那么你只能手动启动浏览器,并且配置其以ZAP为代理,导入和信任ZAP Root CA证书。

     
     
  • 相关阅读:
    字符编码常识及问题解析
    leptonica 学习笔记2——pixBackgroundNormSimple
    用GitLab Runner自动部署GitBook并不难
    使用Docker搭建简易的 Java Web 环境
    ionic button笔记
    学习Sass之安装Sass(一)
    Exploring Ionic Lists
    Using the Cordova Camera API
    ionic介绍
    angularjs2 学习笔记(六) Form
  • 原文地址:https://www.cnblogs.com/dayu2019/p/11543424.html
Copyright © 2011-2022 走看看