ZAP简介
在web应用程序中,爬虫或爬行器(spider)是一种工具,它可以根据网站中的所有链接自动浏览网站,有时还可以填写和发送表单。这允许获得站点中所有引用页面的完整映射,并记录获取这些页面的请求和响应。
OWASP ZAP 是一款开源的web安全工具,它简单易用,与Burp suite 相似,主要功能包含了:代理。数据拦截修改、主动扫描、被动扫描、主动攻击、爬虫、渗透测试等
在本次实验中,会用ZAP的爬行功能,在脆弱的靶机上爬行一个目录,然后将检查它捕捉到的信息。
将使用OWASP BWA靶场中的BodgeIt来说明ZAP的爬行功能是如何工作的
1. 环境配置-kali linux中firefox配置为127.0.0.1 8080
步骤:在kali中找到Firefox,点击右上角三条横线,选择Settings设置进入
1.1在general常规中找到Network Settings网络设置点击Settings设置进入
1.2配置访问互联网的代理服务器,勾选 “Manual proxy configuration” (手动配置代理),将代理IP改为127.0.0.1,端口设为8080。配置完成关闭Firefox(火狐浏览器)
2. 环境配置-kali linux中OWASP ZAP也配置为127.0.0.1 8080
2.1使用命令行打开ZAP
2.2选择“Tools”下的“options”点击进入,再点击 "Network" 下的 "Local Serever/proxies" ,并且配置参数,配置完成后关闭ZAP。
3. 先在OWASP中查看靶机IP,随后在kali linux中打开firefox浏览器,在浏览器中打开靶场
4.选择Bodgelt进入需要扫描的页面
4.1再在kali linux中打开OWASP ZAP,接着,在firefox中刷新Bodgeit页面,此时ZAP中就可以看到相应的记录。对bodgeit单击右键,从下拉菜单选择 Attack(攻击) | Spider(爬行)
4.2 在Spider(爬行)对话框中,我们可以判断爬行是否递归、设置起点和其他选项,我们保留所有默认选项,点击Start Scan开始扫描。
4.3 已经能查看扫描出来的结果,点击Export可以将结果输出
,选择路径后保存。
4.3 如果想分析单个文件的请求和响应,点击sites选项卡,查看里面的文件和文件夹。
返回kali在root就能找到刚刚保存的文件。
5.总结
与其他爬行器一样,ZAP的爬行功能会跟随它在每一页找到的链接,包括在请求的范围内和它内部的链接。此外,此蜘蛛遵循“robots.txt”和“sitemap.xml”文件中包含的表单响应、重定向和URL,然后存储所有请求和响应以供以后分析和使用。 在爬行一个网站或目录之后,可能希望使用存储的请求来执行一些测试。使用ZAP的功能,将能够做以下事情,其中包括:
- 重复修改一些数据的请求
- 执行主动和被动漏洞扫描
- 输入模糊变量,寻找可能的攻击向量
- 在浏览器中打开请求
重要:
只可以在当你有权使用主动攻击的方式测试某一应用时才可以使用ZAP。
因为ZAP的运作方式会让应用如同遭受真实攻击,应用的功能和数据都有可能因此受损。
如果你担心使用ZAP会给被测应用带来风险,你可以切换到安全模式(ZAP的可用功能会大大减少)。
要切换成安全模式,点击主菜单栏的“模式”下拉菜单选择安全模式。
手动扫描应用
被动扫描和自动攻击功能对于开始检查你的Web应用漏洞时一个很好的方法,但是也有很多局限。
比如:
-
任何需要用户鉴权的页面都无法被被动扫描,除非你配置了ZAP的鉴权功能,否则ZAP不会处理所需的权限授权。
-
对于被动扫描和自动攻击所执行的攻击类型而言,测试人员并无太多控制能力。事实上ZAP还提供了多种扫描和攻击能力。
爬虫可以很好的基本探索一个站点,但是只有结合手动探索才能更高效。
举个例子来说,爬虫在遇到表单时,只会填入基本的默认信息。但是用户可以填写更相关的信息,这样又可以为ZAP提供更多该站点的信息。
对于需要真实邮件地址来完成注册的页面以及类似的页面尤其如此。
爬虫可能会填入随机字串,然后得到报错。
用户则可以根据报错提供合法输入,这样当表单正确提交后,又有更多站点的内容可以被访问并被爬取到。
你应该在ZAP代理下访问你的整个Web应用。
这样做的好处是,当你手动访问站点时,ZAP会被动扫描访问过程中触发的请求和反馈,并检查其中的漏洞,进一步完成站点树结构,记录扫描到的所有漏洞警告。
让ZAP访问到你的Web应用的所有页面是很重要的,以求探明所有页面之间的链接。
如果存在隐藏的页面,这是不安全的,因为这些页面可能在没有被注意的情况下就被发布上线。
所以在手动访问站点时,尽可能做到全面。