使用Zed攻击代理自动进行渗透测试
在本文中,您将学习如何使用OWASP Zed Attack Proxy(ZAP)执行渗透测试。 ZAP是免费的Web应用程序扫描程序,可用于安全测试。
简介
在开发应用程序时,必须解决安全性问题。如今,它已不容忽视。从最初的开发开始就必须考虑到安全性,而当您想首次部署到生产环境时就不要考虑安全性。
通常,您会注意到,在开发的后期向应用程序添加安全性将花费大量时间。最好从一开始就考虑安全性,这样可以使您免于遭受一些痛苦的头痛。您可能在公司内部有一些安全专家,因此当需要开发新的应用程序时,让他们从一开始就参与其中。但是,您还需要验证开发的应用程序是否安全。
渗透测试可以帮助您。 OWASP Zed攻击代理(ZAP)是可以帮助您对应用程序执行渗透测试的工具。在本文中,您将学习如何使用ZAP桌面客户端设置ZAP并执行测试。您还将需要一个容易受到攻击的应用程序。为此,将使用OWASP的Webgoat。如果您不知道什么是Webgoat,则可以先阅读上一篇文章。
自从那时以来Webgoat已经得到了改进,这可能有点过时了,但是它将使您对Webgoat是什么有一个很好的印象。建议您在使用Webgoat时断开与Internet的连接,因为它可能会使您的计算机受到攻击。
启动应用程序
首先要做的是启动Webgoat。 最简单的方法是将其作为Docker容器运行。 Docker映像包含应用程序Webgoat和Webwolf,但是您将仅在本文中使用Webgoat。 您将容器命名为山羊和狼(这将使启动和停止容器变得容易),然后以分离模式运行它。
#shell
$ docker run --name goatandwolf -p 8080:8080 -p 9090:9090 -d webgoat/goatandwolf
容器启动后,验证是否可以通过浏览器访问URL为http://localhost: 8080/WebGoat/显示登录页面。

就是这样,您现在就可以开始使用ZAP。
Zed攻击代理
1.安装
ZAP的安装说明取决于您的操作系统。 对于Linux,请下载文件ZAP_2_10_0_unix.sh并执行。
// shell
$ ./ZAP_2_10_0_unix.sh
启动ZAP,保留默认的持久性设置,然后单击“Start”。

2.快速扫描
启动扫描的最快方法是使用“Quick Start”菜单并启动自动扫描。 单击此菜单中的自动扫描按钮。

填写要攻击的URL,启用“Use ajax spider”,然后单击“Attack”按钮。 现在不要对所有选项都考虑太多,在本文的后面,它们将变得更加清晰。

运行扫描后,可能会注意到一些有趣的事情。 让我们看一下“Sites”部分并将其展开,以便您查看哪些URL参与了扫描。

蜘蛛会尝试浏览您的网站并找到一些有用的东西,但是在这种情况下,几乎整个网站都位于登录页面之后。 扫描是在没有登录的情况下执行的,因此不会扫描您网站的主要部分。 扫描确实发现了一些警报,但未达到预期的数目。

自动扫描是一种获得快速结果的好方法,仅此而已。 绝对不能将其视为对应用程序的良好扫描,当然,当应用程序的大部分需要登录时也是如此。
3.浏览应用
一种方式,您将需要让ZAP知道您的应用程序的外观。 因此,您需要手动浏览您的网站,然后单击所有链接,按钮,填写所有可用的表格,甚至导航到隐藏的URL等。对于WebGoat,对于应用程序具有的每个角色,您都需要这样做 只会在这篇文章中为普通用户浏览该网站。 让我们开始吧!
再次转到“Quick Start”菜单,这次选择“Manual Explore”。 填写URL(如果尚未完成),然后单击“Launch Browser”按钮。

就像我们访问WebGoat之前看到的那样,将打开一个浏览器窗口并显示登录页面。 区别在于,ZAP现在位于浏览器和应用程序之间,这使ZAP可以拦截所有流量并跟踪我们对网站所做的工作。
让我们继续创建用户。 单击“Register new user”链接并创建一个用户。 在下面的示例中,使用密码password(密码必须在6到10个字符之间)创建用户mydeveloperplanet。 同意条款和条件,然后单击“Sign up”按钮。

现在是进行最繁琐的工作的时候了,您必须尽可能地浏览该网站。 当您这样做时,您会注意到“Sites ”部分将随着新URL的增长而继续增长。

关闭浏览器并通过File – Persist Session…保存该会话。
4.创建上下文
必须先向ZAP提供登录信息,然后才能在扫描期间使用该登录信息,然后才能继续。 该信息必须存储在上下文中。 在“Sites”部分中双击“Default Context”。
将打开“Session Properties”窗口,可以在其中更改与会话有关的设置。 例如,您可以将会话名称更改为比“Untitled Session”更方便的名称。 您将其命名为例如WebGoat mydeveloperplanet。

更重要的是“Contexts”部分。 将Default Context更改为例如 Webgoat。

在“Authentication”部分中,选择“ Form-based Authentication(这取决于您的应用程序)”,然后填写登录页面的URL。

最后,在“Users”部分中添加创建的用户。 填写先前创建的用户名和密码。 这将允许ZAP登录到应用程序。

不要忘记单击“OK”按钮以保存更改。
5.ZAP运行模式
ZAP可以以四种不同的模式运行:
- 安全(Safe):不允许有潜在危险的操作;
- 受保护(Protected):仅对范围内的URL执行潜在的危险操作;
- 标准(Standard):您可以做任何事;
- 攻击(ATTACK):作用域中的新节点一被发现就被主动扫描。
您必须意识到以下事实:您只能对自己拥有的网站运行ZAP。 因此,建议您使用保护模式以确保仅攻击自己的站点。
6.启动蜘蛛
尽管您已经尽力点击每个链接和按钮,但是可以想到的是,蜘蛛程序可以帮助您发现可能错过的事物。 您可以运行传统的蜘蛛和/或AJAX蜘蛛。 后者还将爬行动态建立的链接。 请记住,您在快速扫描过程中也启用了这些蜘蛛。
在“Sites”部分中,右键单击WebGoat URL,然后选择“Attack – Spider…”。 选择用户mydeveloperplanet,然后单击开始扫描按钮。

Spider快速完成,在结果中您会注意到已添加了一定数量的节点(屏幕快照中的37个)。

用AJAX蜘蛛做同样的事情。 右键单击WebGoat URL,然后选择“Attack – AJAX Spider…”,填写必要的项目,然后单击“Start Scan”按钮。

再次添加了一些新的URL。
7.主动扫描
目前,您已经完成了所有准备工作,现在是时候采取实际行动了。 右键单击WebGoat URL,选择“Attack – Active Scan...”,填写必要的项目,然后单击“Start Scan”按钮。

ZAP将立即开始工作,因此请耐心等待,这可能需要一些时间(完成扫描大约需要15分钟)。 最后,可以在“Alerts”部分中查看结果。

单击警报将显示有关该漏洞以及如何解决此漏洞的更多信息。

8.导出结果
“Reports”菜单中提供了几种导出功能,用于生成报告。 例如,您可以使用“Generate HTML Report…”来生成HTML报告。

最后一步
活动扫描将为您提供有关漏洞的第一个指示。 但是请注意,主动扫描只能找到某些类型的漏洞。 除主动扫描外,还应始终执行手动渗透测试。 OWASP Top 10网站为您提供了有关是否可以通过自动扫描发现漏洞的良好信息。
除了活动扫描之外,您还可以使用“强制浏览站点”(它会尝试查找无法发现的链接)和“模糊测试”(Fuzz),后者会将随机数据发送到您的站点。
完成测试后,请不要忘记停止WebGoat Docker容器。
// shell
$ docker stop goatandwolf
总结
在此博客中,您学习了如何使用Zed Attack Proxy。 建议您尝试一下,尝试解决问题,并检查工具中还有哪些其他信息,以便对其进行更多了解。 例如,还可以拦截请求并更改请求中的项目。
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
SO资源 » 使用Zed攻击代理自动进行渗透测试