OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,由数百名国际志愿者*积极维护。它可以帮助您在开发和测试应用程序时自动查找Web应用程序中的安全漏洞。

也可以说:ZAP是一个中间人代理。它允许您查看您对Web应用程序发出的所有请求以及您从中收到的所有响应。

即可以用于安全专家、开发人员、功能测试人员,甚至是渗透测试入门人员。它也是经验丰富的测试人员用于手动安全测试的绝佳工具。

主要拥有以下重要功能:

  • 本地代理
  • 主动扫描
  • 被动扫描
  • Fuzzy
  • 暴力破解

一、OWASP ZAP 下载地址

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

二、OWASP ZAP 安装

安装我就不多说了,它有Windows(64)安装程序、 Windows(32)安装程序、 Linux安装程序、 MacOS安装程序等。

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

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

唯一需要注意的是:Windows和Linux版本需要运行Java 8或更高版本。MacOS安装程序包括Java 8;

三、OWASP ZAP使用教程(详解)

由于Kali Linux里面也集成了OWASP ZAP工具,我就拿Kali Linux里面的OWASP ZAP来做示例吧!

1、更新

由于owasp zap 官方不定期的会更新zap插件和zap版本,我们可以通过手动更新的方式如下:

如果你想更新单个,你可以这样:后面如果出现【更新】的字样的话,可以选择后【update selected】更新即可!

Marketplace为插件市场,是选择性安装的插件。主要分为一下3类的插件:

  • release:为经过长期验证比较成熟的插件
  • beta:为正在测试测试中的插件,可能会出现问题
  • alpha:比beta更加低的测试版插件

建议release和beta版的都安装上,alpha版本的可选择性安装!

2、本地代理设置

给firefox 浏览器设置http代理(也可以是其他浏览器),owasp zap默认使用8080端口开启http代理;

如果你想修改owasp zap默认的代理,owasp zap的代理设置可在【工具】-【选项】-【本地代理】中修改:

3、简单攻击

然后我们再去火狐浏览器上随意访问任何网站,都可以截取到访问的网址,从而实现攻击。

攻击是需要有步骤的:

首先:手动爬行网站后,选择该站点进行owsap zap的强制浏览网站、强制浏览目录、forced browse directory(and children)。

owasp zap的强制目录浏览选择使用owasp zap自带的directory-list-1.0.txt 目录字典进行尝试爬取(你也可以自定义字典)。

以上的目的是尽量的爬行出网站的所有链接页面!

其次:以上工作做完以后,就可以选择该站点进行active scan(主动扫描)

主动扫描上面有一些相关 设置,例如:信息收集、客户商和器、服务器安全、注入等。如果你有一定基础可以去设置,不是很了解的朋友们只需要用默认的即可!

最后:主要就是查看扫描结果,主动扫描后,针对扫描的结果【警告】菜单栏查看每一项看是否真的存在相应的问题,主要查看高危和中危漏洞,查看漏洞存在的url以及attack 的语句即 attack后服务器返回的结果。

如果你想验证该漏洞的真实有效性,你可以选择该漏洞点进行相应安全工具再进一步的测试!

4、persist session结果保存

【文件】-【persist session】,该功能主要保存“扫描分析的结果”,方便下次继续分析!

5、扫描模式

主要有4中扫描模式:安全模式、保护模式、标准模式、攻击模式;

owasp zap默认用的是标准模式,你可以在【编辑 】- 【ZAP Mode】中选择你想要的模式。

6、扫描策略

有两个地方可以添加扫描策略 (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 生效

7、扫描时跳过某个插件扫描

在【扫描监控】中,点击旁边的蓝色按钮,可跳过该插件的检测!

8、CSRF Tokens设置

部分网站有防止csrf的token,无法正常提供token网站会重定向,可以通过owasp zap 的anti csrf tokens功能来添加该网站的token名称,告知owasp zap。

在【设置】-【Anti CSRF Tokens】里添加。

9、设置代理后,https网站证书不受信任问题

owasp zap 进行代理时,浏览器访问https的网站,owasp zap使用自己的证书与浏览器建立ssl连接,由于owasp zap证书不受信任,因此需要把owasp zap的证书手动导出(cer格式的证书),导入到浏览器中即可!

导出owasp zap的证书的方法【设置】-【Dynamic SSL Certificates】;

10、contexts/scope 站点过滤

该功能可快速的定位自己关心的站点;

11、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截断功能响应太慢,没burpsuit的好用!

(转)OWASP ZAP下载、安装、使用(详解)教程的更多相关文章

  1. NC-UClient下载安装应用详解

    aliases: [] tags : " #NC " summary: [UClient下载安装NCC应用详解] product: [NCX] author : [yaenli] ...

  2. owasp zap 安全审计工具 功能详解

    一.persist session 该功能主要保存扫描分析的结果,方便下次继续分析 二.扫描策略 1.修改策略 A.入口 B.具体设置页面 C.设置完成后,发起主动扫描,在弹出的窗口可以选择策略 D. ...

  3. TortoiseGIT的安装过程详解

    TortoiseGIT简介 TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windo ...

  4. Eclipse IDE for C/C++ Developers安装配置详解

    Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...

  5. loadrunner11.0 安装破解详解使用教程

    loadrunner11.0 安装破解详解使用教程 来源:互联网 作者:佚名 时间:01-21 10:25:34 [大 中 小] 很多朋友下载了loadrunner11但不是很会使用,这里简单介绍下安 ...

  6. Cloudera CDH 、Impala本地通过Parcel安装配置详解及什么是Parcel

    本文引用自:Cloudera CDH .Impala本地通过Parcel安装配置详解及什么是Parcelhttp://www.aboutyun.com/forum.php?mod=viewthread ...

  7. ubuntu14.04 server ftp 服务安装配置详解

    ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...

  8. JDK10安装配置详解

    JDK10安装配置详解 1. 下载jdk10 1.1 官网下载jdk7的软件包:        地址:http://www.oracle.com/technetwork/java/javase/dow ...

  9. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

随机推荐

  1. 【转】Java学习---内存泄露与溢出的区别

    Java内存泄露与溢出的区别 Java内存泄漏就是没有及时清理内存垃圾,导致系统无法再给你提供内存资源(内存资源耗尽): 而Java内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于 ...

  2. 49_分析代理类的作用与原理及AOP概念

    生活中的代理 武汉人从武汉的代理商手中买联想电脑和直接跑到北京传智播客旁边来找联想总部买电脑,你觉得最终的主体业务目标有什么区别吗?基本上一样吧,都解决了核心问题,但是,一点区别都没有吗?从代理商那里 ...

  3. Javaweb学习(二):Http通信协议

      当我们开始jsp/servlet编程之旅之前,我们还需要知道一些关于网络通讯方面的一些知识.这样能更加有助于我们的理解,希望大家能看懂我的描述,而不至于在学习的路上一知半解.(手动比❤) 认识Ht ...

  4. KMP、扩展KMP、Manacher习题

    照着这篇博客刷一下. 自己也做一下笔记 对于KMP算法,可以看我之前总结的这篇博客 hdu 3613 Best Reward 给一个字符串,字符由a~z构成,每个字符有一个权值.在某一点将字符串切成2 ...

  5. sql注入--基础

    什么是sql注入: 利用SQL语句 在外部 对数据库进行 查询,更新等 动作 sql注入的原理: 输入值可控且带入数据库执行(前提) 接受的变量传值未进行过滤(实质) sql注入的目的: 获取数据(网 ...

  6. 复杂json的解析:jsonobject与jsonArray的使用

    String parameter = { success : 0, errorMsg : "错误消息", data : { total : "总记录数", ro ...

  7. python第三十一课--递归(2.遍历某个路径下面的所有内容)

    需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...

  8. PHP错误提示的关闭方法详解

    关闭PHP错误脚本提示是程序上线了必须做的一件事情,就是不管程序怎么报错我们都不能让错误日志在服务器上给大家看到,下面我来总结两种关闭PHP错误脚本提示的具体方法     最简单的办法就是直接在php ...

  9. redhat7.4 使用centos yum源

    新安装了redhat7.4安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription Ma ...

  10. linux 的常用命令---------第四阶段

    权限管理 “4” “r” → 读权限: 查看文件内容: 是否能够列出目录结构. “2” “w” → 写权限: 编辑文件内容: 是否能够创建.删除.复制.移动目录. “1” “x” → 执行权限: 对二 ...