前面我们成功下载了网站的静态资源,但是其中的发给服务器以的请求和服务器返回的响应状态信息,都没有拿到,对于这个问题,这篇文章讨论的集成在 OWASP ZAP 中的爬虫可以很好的解决这个问题。
实践
首先,打开我们的漏洞靶机:Vulnerable_VM 【配置参见:测试环境搭建】
然后,开启 OWASP ZAP,给浏览器配置使用ZAP Proxy代理
【配置参见:使用 ZAP 查找文件和目录】
配置好浏览器代理后,用浏览器访问应用地址:http://192.168.150.134/bodgeit
在 Sites Tab页中,点开Sites中 IP 为 192.168.150.134 的文件夹,又击GET:bodgeit,然后从菜单中选择 Attack --> Spider...
在接下来的对话框里,保持所有选项默认,点击Start Scan,扫描结果会立刻出现在底部面板的 Spider Tab页面中,如图:
如果想要查看单个文件的请求和响应详情,可以去Sites Tab页面,点开 Sites 文件夹,进入里面的 bodgeit 目录,然后点击任意一个文件进行查看:
从上图中,我们看到了响应的Header(包含 Server Banner 和 Session Cookies)以及响应的HTML源码。后续的文章中,我们会介绍从一个已经登陆的用户那里获取cookie信息,并进行会话的劫持,并模仿已授权用户的操作。
总结
跟其他爬虫一样,ZAP的爬虫会跟进在页面中找到的每个链接,以及表单的响应中的URL,重定向的URL,以及robot.txt、sitemap.xml中的URL,并且保存所有的请求和响应用于后期分析。
在获取了站点文件和目录后,我们还可以用保存的请求做些其他测试,使用 ZAP,我们还能做如下测试:
- 修改请求数据,重发请求
- 进行主动和被动的漏洞扫描
- Fuzz 输入变量,发现可能的 Attack Vector
- 通过浏览器重放指定请求