开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。开放式Web应用程序安全项目(OWASP)是一个非营利组织,不附属于任何企业或财团。
项目种类
因此,由OWASP提供和开发的所有设施和文件都不受商业因素的影响,现在OWASP每年超过600W访问者,拥有了93个活跃项目。在OWASP的官网中所有的项目主要分为了三种:
Tool Projects(工具类项目):工具类项目提供了各种各样的安全扫描工具,ZAP就是其中之一。
Documentation Projects(文档类项目):文档类项目提供的是安全扫描的各种文档类指导
Code Projects(代码类项目):代码类项目则是OWASP维护的开源工具代码。
什么是ZAP
ZAP则是OWASP里的工具类项目,也是旗舰项目,全称是OWASP Zed attack proxy,是一款web application 集成渗透测试和漏洞工具,同样是免费开源跨平台的。
ZAP主要覆盖了安全性测试里渗透测试即对系统进行模拟攻击和分析来确定其安全性漏洞。ZAP能够以代理的形式来实现渗透性测试,它将自己和浏览器之间设置一个中间人的角色,浏览器与服务器的任何交互都将经过ZAP,ZAP则可以通过对其抓包进行分析、扫描。
同时,ZAP适用于所有的操作系统和Docker的版本,而且简单易用,还拥有强大的社区,能够在互联网上找到多种额外的功能插件。介绍完这么多,我们来看一下ZAP的基本功能。
ZAP的基本功能
在https://www.zaproxy.org/ ZAP官方网站下载完对应操作系统的客户端后,傻瓜式一键安装,我们便可以使用ZAP了。
ZAP提供了两种扫描方式,Automated Scan(自动扫描)和Manual Explore(手动扫描),如下图:
自动扫描,我们只要输入需要渗透的网址,以及Traditional Spider(抓取WEB程序中的HTML资源)和Ajax Spider(适用于有比较多Ajax请求的WEB程序)两个选项按钮,他就能开始检测我们的目标网址,并产生报告,如下:
我们还能在警报处看到对应的告警及建议坚决方案:
对于手动扫描而言,你需要选择渗透的网站和启动的浏览器,当你选择完后,会启动该网站的浏览器,并拥有ZAP的各种测试工具。
在这个特定的浏览器里,你能够开启、关闭扫描,查看报告,查看告警等多种功能。在所有的扫描中ZAP主要做了以下几件事:
-
使用爬虫抓取被测站点的所有页面;
-
在页面抓取的过程中被动扫描所有获得的页面;
-
抓取完毕后用主动扫描的方式分析页面,功能和参数。
其他功能
在执行完渗透扫描后,ZAP还能提供多种形式的报告,包括XML、HTML、Markown、JSON格式,方便基于数据去做二次开发。在HTML报告中,能清晰的看到所有的告警描述、告警地址、请求方法、解决方案等信息,方便指导安全人员,开发人员解决告警。
另外ZAP还能基于JSON、Script、表单等方式进行鉴权,来扫描一些必须要登录才能扫描的网站。可以通过导入证书访问不受信任的https网站,可以设置网络代理来实现不同网络的访问,还可以设置CSRF Token来添加一些有防止CSRF的网站阻止访问。这也就是为什么ZAP是可以从新手到安全专家都能使用的安全渗透工具。