OWASP ZAP使用教程

时间:2024-02-22 15:24:58

一、安装

Windows下载下来的是exe的,双击就可以了!

Linuxg下载下来的不是.sh就是tar.gz,这个就更加简单了。

 

唯一需要注意的是:

WindowsLinux版本需要运行Java 8或更高版本JDKMacOS安装程序包括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代理,截断默认关闭,要启动阶段需要点击。