8.4、使用OWASP ZAP进行扫描漏洞
OWASP ZAP是我们已经在本书中用于各种任务的工具,在其众多功能中,它包括一个自动漏洞扫描程序。 它的使用和报告生成将在本文中介绍。
实战演练
在我们在OWASP ZAP中执行成功的漏洞扫描之前,我们需要抓取现场: 1.打开OWASP ZAP并配置Web浏览器以将其用作代理 2.导航到http://192.168.56.11/peruggia/ 3.按照第3章“使用代理,爬网程序和蜘蛛”中的使用ZAP蜘蛛的说明进行操作
实验开始
浏览了应用程序或运行ZAP的蜘蛛,我们开始扫描: 1.转到OWASP ZAP的“站点”面板,右键单击peruggia文件夹。 2.从菜单中,导航到Attack| 主动扫描,如下所示截图:
3.将弹出一个新窗口。 在这一点上,我们知道我们的应用是什么技术和服务器使用; 所以,转到Technology选项卡,只检查MySQL,PHP,Linux和Apache:
在这里,我们可以根据Scope(开始扫描的位置,在什么上下文等)配置我们的扫描,输入向量(选择是否要在GET和POST请求中测试值,标题,cookie和其他选项 ),自定义向量(将原始请求中的特定字符或单词添加为攻击向量),技术(要执行的技术特定测试)和策略(选择特定测试的配置参数)。
4.单击“开始扫描”。 5.“活动扫描”选项卡将显示在底部面板上,扫描期间发出的所有请求都将显示在此处。 6.扫描完成后,我们可以在“警报”选项卡中查看结果,如下面的屏幕截图所示:
如果我们选择一个警报,我们可以看到发出的请求和从服务器获得的响应。这允许我们分析攻击并定义它是真正的漏洞还是误报。 我们还可以使用此信息进行模糊测试,在浏览器中重复请求,或深入挖掘开发。
7.要生成HTML报告(与以前的工具一样),请转到主菜单中的“报告”,然后选择“生成HTML报告”。 8.新对话框将询问文件名和位置。例如,设置zapresult.html,完成后打开文件:
原理剖析
OWASPZAP能够执行主动和被动漏洞扫描; 被动扫描是OWASP ZAP在我们浏览,发送数据和点击链接时进行的非侵入式测试。主动测试涉及对每个表单变量或请求值使用各种攻击字符串,以便检测服务器是否响应我们可以称之为易受攻击的行为。
OWASPZAP拥有各种技术的测试字符串;首先确定我们的目标使用的技术是有用的,以便优化我们的扫描并减少被检测或导致服务中断的可能性。
此工具的另一个有趣功能是,我们可以在同一窗口中分析导致检测到漏洞及其相应响应的请求。它被检测到的那一刻。这使我们能够快速确定它是真正的漏洞还是误报,以及是否开发我们的概念证明(PoC)或开始利用。
另请参阅
我们在本书中也使用过BurpSuite。 Kali Linux仅包含免费版本,该版本没有主动和被动扫描功能。 绝对建议获得Burp Suite的专业许可证,因为它具有有用的功能和对这些免费版本的改进。
- 当我们使用配置为浏览器代理的Burp Suite浏览网页时,后台会发生被动漏洞扫描。 Burp将在查找与已知漏洞相对应的模式时分析所有请求和响应。
- 在主动扫描中,Burp Suite会向服务器发送特定请求并检查响应,以查看它们是否与某些易受攻击的模式相对应。这些请求是专门为在应用程序易受攻击时触发特殊行为而设计的。