OWASP ZAP使用教程
一、安装
Windows下载下来的是exe的,双击就可以了!
Linuxg下载下来的不是.sh就是tar.gz,这个就更加简单了。
唯一需要注意的是:
Windows和Linux版本需要运行Java 8或更高版本JDK,MacOS安装程序包括Java 8;
二、使用
1、初步使用ZAP
进程保留:
初次打开ZAP时,会看到以下对话框,询问是否要保持ZAP进程。
保存进程则可以让你的操作得到保留,下次只要打开历史进程就可以取到之前扫描过的站点以及测试结果等。
一般来说,如果对固定的产品做定期扫描,应该保存一个进程做为长期使用,选第一或者第二个选项都可以。
如果只是想先简单尝试ZAP功能,可以选择第三个选项,那么当前进程暂时不会被保存。

设置代理:
打开ZAP以后看到的是如下界面:

在开始使用他进行渗透测试之前,如前文所述,首先需要将他设为我们的浏览器代理。
ZAP的默认地址和端口是标准的localhost:8080,如下图:

如果端口可用,接下来我们只需要去修改浏览器代理,以火狐为例:
在设置-常规-连接设置里,选择手动代理,并将http代理设为与ZAP一致:

完成这一设置以后,我们再用这个浏览器去访问站点时,都会通过ZAP这个中间人,于是这就给ZAP提供了抓包、分析、渗透测试的可能性。
快速测试:
ZAP右上方区域是快速测试窗口,可以开启非常傻瓜式的渗透测试:

输入网址,点击‘Attack’,搞定,so easy。
在快速攻击过程中,ZAP做了以下几件事:
使用爬虫抓取被测站点的所有页面
在页面抓取的过程中被动扫描所有获得的页面
抓取完毕后用主动扫描的方式分析页面,功能和参数
结果分析:
等待上述快速测试完成以后,我们就可以拿到ZAP提供的测试结果进行分析。
快速测试中,ZAP会产出以下一些产物:
被测站点地图及页面资源
所有请求、反馈记录
安全性风险项目列表
其中我们最关注的当然是安全性风险项,ZAP将做出以下标识:

由上到下分别为:高、中、低、信息、通过
在窗口最底部,切换到Alert界面,可以看到所有扫描出的安全性风险:

其中的所有风险项可以展开,ZAP在右侧窗口会对该风险项提供说明和解释,并且在右上部response区域高亮展示具体风险项由来(从反馈中分析得出的)。
如果只是简单的安全性测试需求,或者只是为了学习安全性测试知识,到这一步为止ZAP给出的风险项分析和报告,已经可以一定程度满足要求了。
通过主菜单Report选项,可以选择输出HTML、XML等多种格式安全性测试报告。
主动爬取网站
之前介绍了使用ZAP做为浏览器代理,配置好代理的情况下,使用浏览器进行任何站点的访问都会经过ZAP,这时就会在ZAP的context记录里留下该站点记录,如图:

右键点击需要测试的站点,选择Attack->Spider,弹出的选项窗口点击Start Scan,则会开始手动爬取网站。
主动扫描
与节操作类似,右键点击目标站点,选择Attack->Active Scan,就可以触发主动扫描:

扫描完毕后,同样可以切换到Alert界面,查看安全风险项,或者输出测试报告。
关于ZAP的入门使用就介绍到这里,学会以上使用技巧,就已经可以应付初级的安全测试需求了。
2、更新
由于owasp zap 官方不定期的会更新zap插件和zap版本,我们可以通过手动更新的方式如下:
如果你想更新单个,你可以这样:后面如果出现【更新】的字样的话,可以选择后【update selected】更新即可!
Marketplace为插件市场,是选择性安装的插件。主要分为一下3类的插件:
- release:为经过长期验证比较成熟的插件
- beta:为正在测试测试中的插件,可能会出现问题
- alpha:比beta更加低的测试版插件
建议release和beta版的都安装上,alpha版本的可选择性安装
3、本地代理设置
给firefox 浏览器设置http代理(也可以是其他浏览器),owasp zap默认使用8080端口开启http代理;
如果你想修改owasp zap默认的代理,owasp zap的代理设置可在【工具】-【选项】-【本地代理】中修改:
4、简单攻击
然后我们再去火狐浏览器上随意访问任何网站,都可以截取到访问的网址,从而实现攻击。
攻击是需要有步骤的:
首先:手动爬行网站后,选择该站点进行owsap zap的强制浏览网站、强制浏览目录、forced browse directory(and children)。
owasp zap的强制目录浏览选择使用owasp zap自带的directory-list-1.0.txt 目录字典进行尝试爬取(你也可以自定义字典)。
以上的目的是尽量的爬行出网站的所有链接页面!
其次:以上工作做完以后,就可以选择该站点进行active scan(主动扫描)
主动扫描上面有一些相关 设置,例如:信息收集、客户商和器、服务器安全、注入等。如果你有一定基础可以去设置,不是很了解的朋友们只需要用默认的即可!
最后:主要就是查看扫描结果,主动扫描后,针对扫描的结果【警告】菜单栏查看每一项看是否真的存在相应的问题,主要查看高危和中危漏洞,查看漏洞存在的url以及attack 的语句即 attack后服务器返回的结果。
如果你想验证该漏洞的真实有效性,你可以选择该漏洞点进行相应安全工具再进一步的测试!
5、persist session结果保存
【文件】-【persist session】,该功能主要保存“扫描分析的结果”,方便下次继续分析!
6、扫描模式
主要有4中扫描模式:安全模式、保护模式、标准模式、攻击模式;
owasp zap默认用的是标准模式,你可以在【编辑 】- 【ZAP Mode】中选择你想要的模式。
7、扫描策略
有两个地方可以添加扫描策略 (1)【分析】-【扫描策略】,(2)设置按钮
扫描策略你可以自己随意设置的!如果不懂就用默认的吧!
- Policy:扫描策略名称,需要填写
- Default Alert Threshold:告警阀值,有low、medium、high,阀值越高owasp zap扫描爆出的漏洞数就越少,阀值越高owasp zap就只爆出确认的漏洞高的。
- Default Attack Strength:攻击强度,有low、medium、high、insane,强度越高,扫描速度越快
- Apply xx Threshold to All:把告警阀xx值给所有扫描插件,点击go 生效
- Apply xx Strength to All:把扫描强度xx应用给所有扫描插件,点击go 生效
8、扫描时跳过某个插件扫描
在【扫描监控】中,点击旁边的蓝色按钮,可跳过该插件的检测!
9、CSRF Tokens设置
部分网站有防止csrf的token,无法正常提供token网站会重定向,可以通过owasp zap 的anti csrf tokens功能来添加该网站的token名称,告知owasp zap。
在【设置】-【Anti CSRF Tokens】里添加。
10、设置代理后,https网站证书不受信任问题
owasp zap 进行代理时,浏览器访问https的网站,owasp zap使用自己的证书与浏览器建立ssl连接,由于owasp zap证书不受信任,因此需要把owasp zap的证书手动导出(cer格式的证书),导入到浏览器中即可!
导出owasp zap的证书的方法【设置】-【Dynamic SSL Certificates】;
11、contexts/scope 站点过滤
该功能可快速的定位自己关心的站点;
session properties
owasp zap 扫描站点的所有session结果都保存在session properties 中,默认是手动通过浏览器填写账号密码来记录session;
12、http session
owasp zap 默认有如下的字段名,如果网站中有其他自定义的session名,需要自己添加进来;
查看http session的值;
13、编码解码工具
【工具】-【编码解码哈希】
14、爬行useragent设置
【设置】-【connection】
15、fuzzer模糊测试(漏洞检查工具)
直接右键需要fuzzer的http包,选择fuzzer,选中需要fuzzer的值,添加payload;
这里以sql注入的fuzzer为例,选择一个参数值,点击add,选择fuzzer的类型;
再查看fuzzer的测试结果;
16、代理截断
owasp zap默认使用8080代理,截断默认关闭,要启动阶段需要点击。
OWASP ZAP使用教程的更多相关文章
- (转)OWASP ZAP下载、安装、使用(详解)教程
OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,由数百名国际志愿者*积极维护.它可以帮助您在开发和测试应用程序时自动查找Web应用程序中的安全漏洞. 也可以说:ZAP是一个 ...
- 安全性测试:OWASP ZAP使用入门指南
免责声明: 本文意在讨论使用工具来应对软件研发领域中,日益增长的安全性质量测试需求.本文涉及到的工具不可被用于攻击目的. 1. 安全性测试 前些天,一则12306用户账号泄露的新闻迅速发酵,引起了购票 ...
- kali linux 网络渗透测试学习笔记(二)OWASP ZAP工具扫描SQL injection漏洞失败
按照惯例,利用OWASP ZAP工具扫描SQL injection漏洞时,应该很快就可以扫描出来,但是在笔者进行扫描的时候,却遇到了以下状况: 这说明了该工具根本就没能够扫描出SQL注入的漏洞,不知道 ...
- owasp zap 安全审计工具 的fuzzer使用
owasp zap 安全审计工具 的fuzzer可用场景如下: 一.SQL注入和XSS攻击等 1.选中请求中需要检查的字段值,右键-Fuzzy 2.选中file fuzzer功能(包括SQL注入,xs ...
- owasp zap 安全审计工具 安装/拦截请求
1.安装 网址:https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project 步骤:安装包正常安装即可 2.使用: 来自:http:// ...
- 安全性测试:OWASP ZAP 2.8 使用指南(四):ZAP扫描移动应用安全
在做移动应用(APP,小程序等)测试时,需要关注应用安全性. ZAP是可以用来进行手机移动应用渗透性测试扫描的. 正因为ZAP是采用“中间代理”的形式,截取并扫描所有客户端与服务器的交互请求,作为客户 ...
- 网络安全初级实战笔记(一):owasp zap 暴力破解
网络安全里装着好多人的侠客梦.但是不能触碰铁律,所以,只小小的自娱自乐. 自己练习,大都会用到DVWA,一个很好的安全测试平台,自己搭建(很简单,傻瓜式搭建),自己设置安全级别,自己验证各种漏洞攻击方 ...
- 安全性测试:OWASP ZAP 2.8 使用指南(一):安全测试基础及ZAP下载、安装
概览 本文意在对于OWASP's Zed Attack Proxy(ZAP)软件做一个基本使用指南介绍. ZAP是一个用于实施安全性测试的工具,即使没有很强的安全测试背景也可以很好的使用. 为了达到这 ...
- owasp zap 安全审计工具 功能详解
一.persist session 该功能主要保存扫描分析的结果,方便下次继续分析 二.扫描策略 1.修改策略 A.入口 B.具体设置页面 C.设置完成后,发起主动扫描,在弹出的窗口可以选择策略 D. ...
随机推荐
- 二叉搜索树(python)
# -*- coding: utf-8 -*- class BSTNode(object): def __init__(self, key, value, left=None, right=None) ...
- 《CoderXiaoban》第八次团队作业:Alpha冲刺4
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十二 团队作业8:软件测试与ALPHA冲刺 团队名称 Coderxiaoban团队 作业学习目标 (1)掌握软件测试基 ...
- vue项目中要实现展示markdown文件[转载]
转载 版权声明:本文为CSDN博主「齐天二圣」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/nihaoa5 ...
- bugzilla权限说明
admin:Administrators权限 bz_canusewhineatothers:可定期向其它用户发送有关bug的邮件 bz_canusewhines: 用户在这个组,才能向其发送上 ...
- HDFS的读机制
HDFS的读机制: 1.初始化FileSystem ,客户端调用FileSystem 中的open方法打开文件. 2.FileSystem 调用远程RPC服务,获取namenode上的文件的数据块信息 ...
- http和https 握手过程
这几天测试打印机一直出现打印延迟或者不打印的BUG.找了几天也没有发现为啥没有打印或者打印延迟.然后今天公司的研发大佬过来找问题,并开个会,瞬间所有的问题都找出了并且知道怎么解决了.大佬果然还是大佬. ...
- 学习Spring-Data-Jpa(五)---可嵌入对象和元素集合的使用
1.场景一:地址信息(省.市.县.详细地址)在很多实体中都需要,比如说作者有地址,订单也有地址,但是他们的地址并不能独立与他们存在,所以地址不能映射为实体,那么我们就需要在作者实体和订单实体中都添加这 ...
- Vue模板语法(一)
Vue模板语法 一 vue简介 Vue.js是一套构建用户界面的渐进式框架. 与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. Vue 的核心库只关注视图层,并且非常容易学习,非常容易与 ...
- 【CSP游记S】
简略:初三小蒟蒻本想体验一下提高,结果尝到了省选的滋味.fclose没有打,目前不知道会不会有影响,很伤心. day 1 大早上的6:30起床天好黑啊~,想起这次没有面包吃,到华生园买了包熊博士(毕竟 ...
- php自定义函数之变量函数
在之前的变量部份,我们学习了可变变量.可变函数仅仅是可变变量的一个变种.变形表达.大理石平台价格表 可变函数,我们也会称呼为变量函数.简单回顾一下之前的知识点: <?php $hello = ...