渗透测试工具ZAP入门教程(1)-安装和快速开始

介绍 ZAP

Zed Attack Proxy(ZAP)是一个免费的开源渗透测试工具,在 软件安全项目 (SSP)。ZAP 专为测试 Web 应用程序而设计,既灵活又可扩展。

ZAP的核心是所谓的“中间人代理”。它位于测试人员的浏览器和Web应用程序之间,以便它可以拦截和检查浏览器和Web应用程序之间发送的消息,根据需要修改内容,然后将这些数据包转发到目的地。它可以用作独立应用程序和守护进程。

如果已在使用另一个网络代理(如在许多企业环境中),则可以将 ZAP 配置为连接到该代理。

ZAP 为各种技能水平提供功能,从开发人员到刚接触安全测试的测试人员,再到安全测试专家。ZAP 具有每个主要操作系统和 Docker 的版本,因此您不必绑定到单个操作系统。 其他功能可从 ZAP 市场中的各种附加组件免费获得,可从 ZAP 客户端中访问。

由于 ZAP 是开源的,因此可以检查源代码以准确了解功能是如何实现的。任何人都可以自愿从事 ZAP 工作、修复错误、添加功能、创建拉取请求以将修复程序拉入项目,以及编写附加组件以支持特殊情况。

安装和配置 ZAP

ZAP 有适用于 Windows、Linux 和 macOS 的安装程序。下面列出的下载站点上还提供了 Docker 映像。

安装 ZAP

首先要做的是在要对其执行渗透测试的系统上安装 ZAP。从下载页面下载相应的安装程序。

请注意,ZAP 需要 Java 11+ 才能运行。macOS 安装程序包含相应版本的 Java,但您必须为 Windows、Linux 和跨平台版本单独安装 Java 11+。Docker 版本不需要您安装 Java。

windows 版JDK使用exe安装后即可。

 

 windows安装ZAP,直接双击exe文件安装即可。

持久化会话

首次启动 ZAP 时,系统将询问您是否要保留 ZAP 会话。默认情况下,ZAP 会话始终记录到具有默认名称和位置的 HSQLDB 数据库中的磁盘。如果不保留会话,则在退出 ZAP 时将删除这些文件。

如果选择保留会话,则会话信息将保存在本地数据库中,以便以后可以访问它,并且您将能够提供用于保存文件的自定义名称和位置。

现在,选择“否,我不想在此时保留此会话”,然后单击“开始”。ZAP 会话暂时不会持久化。

ZAP 桌面用户界面

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

  1. 菜单栏 – 提供对许多自动和手动工具的访问。
  2. 工具栏 – 包括可轻松访问最常用功能的按钮。
  3. 树窗口 – 显示站点树和脚本树。
  4. 工作区窗口 – 显示请求、响应和脚本,并允许您对其进行编辑。
  5. 信息窗口 – 显示自动和手动工具的详细信息。
  6. 页脚 – 显示找到的警报的摘要以及主要自动化工具的状态。

使用 ZAP 时,可以单击菜单栏上的“帮助”或按 F1 访问《ZAP 桌面用户指南》中的上下文相关帮助。它也可以在线获得。

有关 UI 的详细信息,请参阅 ZAP 联机文档中的 ZAP UI 概述。

重要说明:您应该只使用 ZAP 攻击您有权测试的应用程序,并进行主动攻击。由于这是一个模拟,其作用类似于真实攻击,因此可能会对站点的功能,数据等造成实际损害。如果您担心使用 ZAP,可以通过切换到安全模式来防止它造成伤害(尽管 ZAP 的功能会显着降低)。

若要将 ZAP 切换到安全模式,请单击主工具栏上模式下拉列表中的箭头以展开下拉列表并选择“安全模式”。

快速开始-自动扫描

开始使用 ZAP 的最简单方法是通过“快速入门”选项卡。 快速入门是安装 ZAP 时自动包含的 ZAP 加载项。

要运行快速入门自动扫描:

  1. 启动 ZAP,然后单击工作区窗口的快速启动选项卡。
  2. 单击大的自动扫描按钮。
  3. 在“要攻击的 URL”文本框中,输入要攻击的 Web 应用程序的完整 URL。
  4. 点击攻击

勾选传统爬虫,点击攻击,ZAP会自动攻击填写的网站。

ZAP 将继续使用蜘蛛抓取 Web 应用程序,并被动扫描它找到的每个页面。然后,ZAP 将使用活动扫描程序攻击所有发现的页面、功能和参数。

2种爬虫

ZAP 提供 2 个爬虫用于爬网 Web 应用程序,您可以从此屏幕使用其中一个或两个。

传统的 ZAP 蜘蛛,通过检查来自 Web 应用程序的响应中的 HTML 来发现链接。这种蜘蛛速度很快,但在探索使用 JavaScript 生成链接的 AJAX Web 应用程序时并不总是有效的。

对于AJAX应用程序,ZAP的AJAX蜘蛛可能更有效。该蜘蛛通过调用浏览器来探索Web应用程序,然后跟踪已生成的链接。AJAX 蜘蛛比传统蜘蛛慢,需要额外的配置才能在“无头”环境中使用。

ZAP 将被动扫描通过它代理的所有请求和响应。到目前为止,ZAP 只对您的 Web 应用程序进行了被动扫描。被动扫描不会以任何方式改变响应,被认为是安全的。扫描也在后台线程中执行,以免减慢探索速度。被动扫描擅长发现一些漏洞,并作为一种了解 Web 应用程序的基本安全状态并找到可能需要进行更多调查的地方的方法。

但是,主动扫描会尝试通过使用针对所选目标的已知攻击来查找其他漏洞。主动扫描是对这些目标的真正攻击,可能会使目标面临风险,因此不要对您无权测试的目标使用主动扫描。

解释您的测试结果

当 ZAP 抓取您的 Web 应用程序时,它会构建 Web 应用程序页面以及用于呈现这些页面的资源的映射。然后,它会记录发送到每个页面的请求和响应,并在请求或响应出现潜在问题时创建警报。

查看浏览的页面

要检查浏览页面的树视图,请单击树窗口中的站点选项卡。您可以展开节点以查看访问的各个 URL。

查看警报和警报详细信息

页脚的左侧包含测试期间发现的警报计数,这些警报按风险类别细分。这些风险类别是:

警报 

 点击警报详情,可以看到详细信息

 

历史

在历史页面可以看到执行过扫描的历史记录。 

spider

可以看到执行进度。

主动扫描

可以看到爬虫发出的请求。可以看到爬虫一共发出2141个请求。

 

 生成报告

选中站点,点击生成报告,可以生成html格式的测试报告,报告包含扫描出的警报信息内容。

 

 

 

 

手动浏览应用程序

被动扫描和自动攻击功能是开始对 Web 应用程序进行漏洞评估的好方法,但它有一些限制。其中包括:

  • 被动扫描期间无法发现受登录页保护的任何页面,因为除非已配置 ZAP 的身份验证功能,否则 ZAP 将不会处理所需的身份验证。
  • 您无法很好地控制被动扫描中的探索顺序或自动攻击中执行的攻击类型。ZAP 确实提供了许多其他选项,用于被动扫描之外的探索和攻击。

蜘蛛是探索基本站点的好方法,但它们应该与手动探索相结合,以更有效。例如,蜘蛛只会在Web应用程序的表单中输入基本的默认数据,但用户可以输入更多相关信息,这些信息反过来又可以将更多的Web应用程序暴露给ZAP中。对于需要有效电子邮件地址的注册表等内容尤其如此。蜘蛛可能会输入一个随机字符串,这将导致错误。用户将能够对该错误做出反应并提供格式正确的字符串,这可能会导致在提交和接受表单时公开更多应用程序。

被动扫描是ZAP自动对网站进行扫描,手动浏览是用户在网站进行操作,ZAP先记录下用户操作,然后基于这些操作再进行攻击,发现漏洞。手动浏览时,操作应该遍历每一个页面。

手动浏览 

要手动探索您的应用程序,请执行以下操作:

  1. 启动 ZAP,然后单击工作区窗口的快速启动选项卡。
  2. 单击大的手动探索按钮。
  3. 在“要浏览的 URL”文本框中,输入要浏览的 Web 应用程序的完整 URL。
  4. 选择您要使用的浏览器
  5. 单击启动浏览器

ZAP会启动浏览器,显示如图。

 

如果要将任何浏览器与现有配置文件一起使用,例如安装其他浏览器加载项,则需要手动将浏览器配置为通过 ZAP 代理,并导入并信任 ZAP 根 CA 证书。有关更多详细信息,请参阅 ZAP 桌面用户指南。

默认情况下,将启用 ZAP 平视显示器 (HUD)。在启动浏览器之前取消选中此屏幕上的相关选项将禁用HUD。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1618374.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

叁腾科技更新招股书:营收、净利双降,创始人鲁永祥有股权被冻结

日前,上海叁腾科技有限公司(Sentage Holdings Inc.,下称“叁腾科技”)向美国证券交易委员会(SEC)递交了更新后的招股书。招股书显示,叁腾科技拟在纳斯达克上市。 根据招股书,叁腾科…

任意系统升Windows10(microsoft官网)

打开https://www.microsoft.com/zh-cn/software-download/windows10 点击“立即下载工具” 下载好后点击“保留” 单击“MediaCreationTool20H2.exe”

竞逐新能源汽车续航,背靠广汽的巨湾技研能否打好“技术牌”?

续航、安全性能包括充电速度一直都是新能源汽车行业发展掣肘。 2020年以来,国内外主力电动乘用车续航普遍突破600公里,消费者续航焦虑逐步化解,但随之而来的是,需求侧对充电便捷性的考量,能否像传统车加油一样实现快速…

GD32E230C8T6_OTA升级

GD32E230C8T6_OTA升级 运行环境简介程序的起始地址进行分区总体流程图Bootloader 程序Bootloader 编译设置APP 分区部分APP 编译设置重点步骤 运行环境 1.Windows10 2. Keil5(MDK5) Version 5.27.0.0 3. MCU GD32E230C8T6 简介 本例程主要分析在线升级(OTA)的实现过程, 主要…

个人配置电脑清单 (windows+黑苹果)

自配第一套,3A游戏入门套 AMD锐龙 R5 3500X盒装微星B450 迫击炮 Max主板套装 1218元 酷兽DDR4 8G 3200MHz内存条 2条 301元 耕升1660 super 6g 炫光 1487元 爱国者极光风扇 4个 110元 航嘉 金牌500W WD500K电源 265元 先马(SAMA)鲁班1 机箱 179元 …

耕升 GeForce RTX 4070 星极皓月 OC给玩家带来DLSS3+2K光追百帧游戏体验

在2023年4月12日晚上21:00,耕升 GeForce RTX 4070 系列全系显卡正式解禁。作为NVIDIA 核心AIC合作伙伴之一的耕升,也紧跟步伐推出全新耕升 GeForce RTX 4070 星极皓月 OC 和 耕升 GeForce RTX 4070 星极幻姬 OC。其建议零售价为人民币5199元。耕升 GeForce RTX 4070…

耕升 GeForce RTX 4060 Ti 系列,为玩家带来DLSS3+1080P光追游戏体验!

NVIDIA 于2023年5月18日,正式发布GeForce RTX 4060 Ti系列,作为核心AIC厂商的一员,耕升此次也为玩家带来了多款耕升 GeForce RTX 40系列全新家族成员。其中囊括耕升 GeForce RTX 4060 Ti 追风 EX3和耕升 GeForce RTX 4060 Ti 追风&#xff0c…

shell脚本耕升(一)

文章目录 文件描述符自定义文件描述符数组和关联数组定义关联数组 别名获取终端信息获取,设置日期与延时延时 调试脚本函数与参数递归函数导出函数 读取命令序列输出不按回车键的方式读取字符“n”字段分隔符与迭代器for循环命令使用cat 查看script,scri…

高精度地图定位在高速公路自动驾驶系统中的应用

近年来随着汽车保有量不断增加,随之而来的是: ( 1) 严重的交通拥堵,通行效率低下,用在通行上的时间不断增加; ( 2) 交通事故频发,交通事故导致的伤亡人数和费用不断增加,而且绝大多数事故是由人为因素导致的; ( 3) 大气…

Kubernetes对象深入学习之五:TypeMeta无效之谜

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《Kubernetes对象深入学习之五》系列的第五篇,从前文的分析也能看出,代表对象类型的schema.ObjectKind,于…

WindowBuilder的安装

偶然间发现利用Eclipse原来也可以通过Java Swing像VB一样以拖拽的形式布局控件。 那就是在Eclipse中安装Window Builder插件。 1、在Eclipse中Help——Install New Software——在Work with中输入WindowBuilder的链接 WindowBuilder的链接:WindowBuilder | Downlo…

android获取当前windows,Android 中的 Window

一台 Android 手机屏幕上显示的内容就是由一个个 Window 组合而成的。顶部的状态栏是一个 Window,底部的导航栏也是一个 Window,中间自己的应用显示区域也是一块大 Window,Toast、Dialog 也都对应一个自己的 Window。而 Android 中对这些 Window 的管理是通过 一个框架的服务…

Flink Window机制详解

Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink 提供了非常完善的窗口机制,这是我认为的 Fl…

window7下利用DockerToolbox安装Docker

这几天终于放假,有空在家深造下后端的知识。在通过某位大神的博客中深入学习redis时,知道了redis在window中的版本其实是阉割版(既非官方版)的,也就意味着很多功能没有,这对于以后的开发中可能造成隐患。当…

Window.innerHeight

Window.innerHeight 接口的只读innerHeight属性 Window返回窗口的内部高度(以像素为单位),包括水平滚动条的高度(如果存在)。值innerHeight取自窗口 布局视口的高度。可以使用该 innerWidth属性获得宽度。一个整数值&a…

window7 正式中文零售版(10.22版) 32位已提供下载,64位待更新

window7ULTIMATE 正式中文零售版(10.22版) 32(上传时间:2009-10-21 04:18:54) fs2you://Y2FjaGVmaWxlMzQucmF5ZmlsZS5jb20vemgtY24vZG93bmxvYWQvM2JlNzVkZjUzZTBjZmIzOTA1YWYwYjRmNDQ3MWM5ZjMvY25fd2luZG93c183X3VsdGl…

计算机Windows7③

一、操作系统 1.1操作系统的概念 操作系统可以控制和管理计算机的硬件和软件资源、控制程序执行、改善人机界面、合理组织计算机工作流程并为用户提供计算机运行环境的系统软件。 操作系统是人机接口,如果没有操作系统,则不能使用计算机,是裸…

STM32 Cubemx 同名外设中断及回调

文章目录 前言示例工程个人理解 前言 最近在学习STM32,采用HAL库开发方式。记录一下同名外设中断及回调。 这里提及的同名外设指USART1/2之类的相同外设,但不是同一个instance。 示例工程 以使用cubemx配置两个同名外设EXTI0/EXT4为例。 在NVIC配置…

Java语言程序设计 例题5.4(英里和公里的转化)

5.4 (Conversion from miles to kilometers) Write a program that displays the following table (note that 1 mile is 1.609 kilometers): Miles Kilometers 1 1.609 2 3.218 ... 9 14.481 10 16.090 5.4(英里和公里的转化)写一个程序显示下表&#x…

图片换脸-->>视频换脸-->>直播换脸

资源网站:https://tianfeng.space/ 个人娱乐,切勿作恶 下载 ​ 网盘:链接:https://pan.baidu.com/s/1DHMY1mCXpT0OtpmlvIoMKA 提取码:nf57 使用 下载解压后,打开 第一个就是你要替换的人脸,…