介绍
OWASP是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究。主要功能包含了:代理、数据拦截修改、主动扫描、被动扫描、主动 攻击 、爬虫、fuzzing、渗透测试等
原理
ZAP 以攻击代理的形式来实现渗透性测试,类似于 fiddler 抓包机制,即对系统进行模拟攻击和分析来确定其安全性漏洞,ZAP 能够以代理的形式来实现渗透性测试,他将自己置于用户浏览器和服务器中间,充当一个中间人的角色,浏览器与服务器的任何交互都将经过 ZAP,ZAP 则可以通过对其抓包进行分析、扫描。
安装配置
1、安装软件
首次启动 ZAP 时,系统将询问您是否要保留 ZAP 会话。默认情况下,始终使用默认名称和位置将 ZAP 会话记录到 HSQLDB 数据库中的磁盘上。如果不保留会话,则退出 ZAP 时将删除这些文件。
保存进程则可以让你的操作得到保留,下次只要打开历史进程就可以取得之前扫描过的站点以及测试结果等。
一般来说,如果对固定的产品做定期扫描,应该保存一个进程做为长期使用,选第一或者第二个选项都可以。
如果只是想先简单尝试 ZAP 功能,可以选择第三个选项,那么当前进程暂时不会被保存。
2、配置代理
打开 Tools->Options->Local Proxies 选项,ZAP 的默认地址和端口是标准的 localhost:8080
3、修改浏览器代理
打开火狐浏览器-设置-常规-连接设置-选择手动配置代理,将http代理设置为ZAP,端口8080(保持一致)
使用
快速测试
ZAP 右上方区域是快速开始窗口,可以开启非常傻瓜式的渗透测试:
输入网址,点击‘攻击’,在快速攻击过程中,ZAP 做了以下几件事:
- 使用爬虫抓取被测站点的所有页面
- 在页面抓取的过程中被动扫描所有获得的页面
- 抓取完毕后用主动扫描的方式分析页面,功能和参数
结果分析
等待上述快速测试完成以后,我们就可以拿到 ZAP 提供的测试结果进行分析。
快速测试中,ZAP 会产出以下一些产物:
- 被测站点地图及页面资源
- 所有请求、反馈记录
- 安全性风险项目列表
- 其中我们最关注的当然是安全性风险项,ZAP 将做出以下标识:
由上到下分别为:高、中、低、信息、通过
其中的所有风险项可以展开,ZAP 在右侧窗口会对该风险项提供说明和解释,并且在右上部 response 区域高亮展示具体风险项由来(从反馈中分析得出的)。
如果只是简单的安全性测试需求,或者只是为了学习安全性测试知识,到这一步为止 ZAP 给出的风险项分析和报告,已经可以一定程度满足要求了。
通过主菜单 Report 选项,可以选择输出 HTML、XML 等多种格式安全性测试报告。