带你体验一款主流且开源的Web漏洞扫描工具(OWASP ZAP) ...

莱莱  金牌会员 | 2024-10-30 03:30:37 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 879|帖子 879|积分 2637

OWASP ZAP是世界上最受接待的Web应用漏洞扫描工具,不仅免费而且还开源。ZAP可以帮助我们在开发和测试应用程序过程中,自动发现 Web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试职员举行人工安全测试的精良工具。接下来从四个方面举行具体介绍。
  1. ZAP简介

由Checkmarx公司贡献给OWASP的Zed Attack Proxy(ZAP)是一个免费的开源渗透测试工具。ZAP是专门为测试web应用程序而设计的,既灵活又可扩展。

ZAP的焦点是“中间署理操纵器”。它位于测试职员的欣赏器和web应用程序之间,与Burp工作原理一样,因此它可以拦截和检查欣赏器和web程序之间发送的消息(包含https),根据需要修改内容,然后将这些数据包转发到目标地。它可以用作独立的应用程序,也可以用作守护进程。
从开发职员到安全测试新手,再到安全测试专家,ZAP都能为其提供强大的本领支撑,此外很多附加功能可从ZAP市场中的各种插件免费得到。
   因为ZAP是开源的,以是可以查阅源代码以了解其功能是怎样实现的,企业可以根据自身情况对其举行二次开发或参照实在现原理来开发自研Web漏洞扫描工具或服务。
  2. 安装和配置ZAP

ZAP有适用于Windows、Linux和macOS的安装程序。
2.1. 安装

ZAP需要Java 11+才气运行,Docker版本不需要你安装Java,但仅支持命令行方式使用,ZAP的docker镜像提供了一种自动化ZAP的简朴方法,特别是在CI/CD情况中。
国内ZAP镜像拉取方式:docker pull ghcr.io/zaproxy/zaproxy:stable

   留意:由于国内Docker Hub被封禁,以是我们选用了Github的镜像堆栈举行拉取。
  本文为了方便介绍,接纳了安装包方式,安装包下载地址:https://www.zaproxy.org/download/。

安装包下载完成后,双击启动安装即可。
2.2. 配置

首次启动ZAP时,体系会提示我们是否要继承ZAP会话。默认情况下,ZAP会话始终以默认名称和位置纪录到HSQLDB数据库。假如不持久化会话,退出ZAP时这些文件将被删除。

假如选择持久化会话,会话信息将保存在当地数据库中,以便后续可以访问它,推荐各人选择挺久化会话。
3. ZAP功能介绍


ZAP桌面UI由以下六个模块组成:

  • 菜单栏:提供对很多自动和手动工具的访问。
  • 工具栏:包括按钮,可轻松访问最常用的功能。
  • 树窗口:显示站点树和脚本树。
  • 工作区窗口:显示请求、响应和脚本,而且支持编辑。
  • 信息窗口:显示自动和手动工具的具体信息。
  • 页脚:显示发现的告警摘要和主要自动化工具的状态。
   ZAP还支持强大的API和命令行功能,具体细节可参考官方文档。
  发起各人使用ZAP来攻击本身有权使用主动攻击举行测试的应用程序。因为ZAP会模拟真实攻击,可能会对网站的功能、数据等造成实际损害。
固然假如你担心使用ZAP,还可以通过切换到安全模式来防止它造成伤害(只管ZAP的功能将大大降低)。
要将ZAP切换到安全模式,请单击主工具栏上模式下拉列表上的箭头,展开下拉列表并选择安全模式。

4. 使用本领

4.1. 自动化扫描



  • 启动ZAP,然后单击『工作空间』窗口的『自动扫描』选项卡。
  • 单击『自动扫描』按钮。
  • 在『要攻击的URL』文本框中,输入要攻击的web应用程序的完整URL。
  • 点击『攻击』。

ZAP使用spider抓取web应用程序,并深入探索找到的每个页面。然后ZAP将使用主动扫描程序攻击所有发现的页面、功能和参数。
ZAP提供了2个用于抓取web应用程序的spider,可以在界面上选择使用其中一个或两个。


  • 传统的spider:通过检查web应用程序响应中的HTML来发现链接。这个spider很快,但在探索使用JavaScript天生链接的AJAX web应用程序时,它并不总是有效的。
  • AJAX spider:此spider通过调用欣赏器来探索web应用程序,然后欣赏器会跟踪已天生的链接。AJAX spider比传统spider慢,需要额外的配置才气在“无头”情况中使用。
4.2. 解读测试结果

当ZAP抓取web应用程序时,它会构建web应用程序页面和用于呈现这些页面的资源的映射(与AWVS类似)。然后,它会纪录发送到每个页面的请求和响应,并在请求或响应可能出现问题时天生告警。
4.2.1. 查看探索页面

要查看欣赏页面的树视图,请单击树窗口中的“站点”选项卡可以展开节点以查看访问的各个URL。

4.2.2. 查看告警和告警具体信息

页脚的左侧包含测试期间发现的警报计数,按风险类别细分。这些风险类别见下图:

要查看测试期间创建的告警,请实验以下操纵:


  • 单击信息窗口中的『告警』选项卡。
  • 单击该窗口中显示的每个告警,在信息窗口的右侧显示URL和检测到的漏洞。
  • 在“工作区窗口”中,单击『响应』选项卡以查看响应的标题和正文内容。将突出显示天生告警的响应部分。

4.3. 手动探索应用程序

被动扫描和自动攻击功能是开始对web应用程序举行漏洞评估的好方法,但它有一些局限性。具体如下:


  • 身份验证问题:在被动扫描期间,无法发现受登录页面掩护的任何页面,因为除非配置了ZAP的身份验证功能,否则ZAP将无法处理所需的身份验证。
  • 过程控制问题:无法控制被动扫描中的探索顺序或自动攻击中实验的攻击范例。
  • 自动探索本领有限:spider是探索基本网站的好方法,但它们应该与手动探索相结合才气更有效。
    比方,Spider只会在web应用程序的表单中输入基本的默认数据,但用户可以输入更多相干信息,这反过来又会将更多的web应用程序暴露给ZAP。对于需要有效电子邮件地址的注册表单等情况尤其云云。spider可能会输入一个随机字符串,但这将导致错误。用户将可以或许对该错误做出反应并提供格式精确的字符串,这可能会导致在提交和接受表单时暴露更多的应用程序。
为了办理以上三个问题,有时我们还需要手工探索应用程序,操纵步骤如下:


  • 启动ZAP,然后单击『工作空间』窗口的『手动欣赏』选项卡。
  • 单击大的『手动欣赏』按钮。
  • 在『要欣赏的URL』文本框中,输入要欣赏的web应用程序的完整URL。
  • 选择要使用的欣赏器并单击『启动欣赏器』。

以上操纵将启动安装了新配置文件的最常见的欣赏器(有点类似于Burp的内置欣赏器)。若要使用具有体系中现有的欣赏器,就还需要手动配置欣赏器以通过ZAP署理,并导入和信托ZAP根CA证书。不同体系中不同欣赏器配置署理的具体步骤可参阅:https://www.zaproxy.org/docs/desktop/start/proxies/。
最后,推荐各人在手动探索应用程序时结合ZAP提供的以下三个工具:


  • Spider 爬虫:使用 ZAP 的 Spider 工具,可以爬取 Web 应用中的所有链接和页面。在左侧 Sites 面板中,右键点击目标网站 URL,选择 『Attack』 -> 『Spider』。
  • Fuzzer 含糊测试:使用 ZAP 的 Fuzzer 工具,可以举行含糊测试。在 History 面板中,右键点击一个请求,选择 Fuzz,配置含糊测试参数并运行。

  • Breakpoint 断点调试:ZAP 提供断点功能,答应用户在请求和响应之间设置断点,举行调试。在 Break 面板中,点击 『Add Break』按钮,配置断点条件。
4.4. 平视显示器

平视显示器(HUD,Heads Up Display)是ZAP独有的创新界面,可以直接在欣赏器中访问ZAP功能。它非常适合刚接触网络安全的人,也答应经验丰富的渗透测试职员专注于应用程序功能,同时提供关键的安全信息和功能。

当通过"手动欣赏”屏幕或工具栏选项启用时,HUD会覆盖在欣赏器中的目标应用程序之上。仅支持Firefox和Chrome等主流欣赏器。
   默认情况下,ZAP平视显示器(HUD)将启用。在启动欣赏器之前取消选中此屏幕上的相干选项将禁用HUD。
  5. 扩展:ZAP市场

ZAP可以动态添加新功能。在线市场提供了大量的ZAP插件,为ZAP添加了很多附加功能。市场上的所有附加组件也都是完全免费的。
可以通过工具栏上的“管理附加组件”按钮从ZAP中访问市场。

6. 参考链接



  • https://www.zaproxy.org/
  • https://www.zaproxy.org/getting-started/



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表