欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > OWASP API Security Top 10 与 OWASP ZAP安全测试工具的使用

OWASP API Security Top 10 与 OWASP ZAP安全测试工具的使用

2025/10/2 8:00:17 来源:https://blog.csdn.net/qq_38105536/article/details/141257348  浏览:    关键词:OWASP API Security Top 10 与 OWASP ZAP安全测试工具的使用

OWASP API Security Top 10 与 OWASP ZAP安全测试工具的使用

  • 一、OWASP官网
  • 二、OWASP是什么?
  • 三、OWASP 前 10 名是什么?
  • 四、2023 - OWASP API Security Top 10
  • 五、2023 Top 10 说明
    • 1. 对象级授权被破坏
    • 2. 认证失效
    • 3.破坏对象属性级别授权
    • 4. 资源消耗不受限制
    • 5. 功能级别授权被破坏
    • 6. 不受限制地访问敏感业务流程
    • 7. 服务器端请求伪造(SSRF)
    • 8. 安全配置错误
    • 9、库存管理不当
    • 10. API 的不安全使用
  • 六、Top10 2023与 2019的差异
    • (一)持续不变的风险
    • (二)新增的风险
    • (三)更新的风险
    • (四)删除的风险
  • 七、安全测试工具OWASP ZAP
    • (一)OWASP ZAP简介
    • (二)OWASP ZAP优缺点
    • (三)OWASP ZAP安装
      • 1.下载地址
      • 2.下载注意
    • (四)OWASP ZAP主要功能介绍
      • 1.选择语言以及界面介绍
      • 2.初次启动的session实例保存
      • 3.默认侦听的端口是8080
      • 4.更新插件
      • 5.扫描模式
      • 6.证书安装
      • 7.API
      • 8.扫描策略
      • 9.常见选项的解释
      • 10.编码解码功能
    • (五)扫描网站实例
      • 1.访问网站后,在站点中会记录访问过的网址
      • 2.选中目标网址,右键—>攻击—>主动扫描
      • 3.在底部的标签栏中会显示测试的进度、测试发出的请求等等
      • 4.在警报栏中可以看见扫出来的漏洞种类及数量
      • 5.最后导出漏洞报告
      • 6.漏洞报告查看

一、OWASP官网

OWASP官网: http://www.owasp.org
在这里插入图片描述

中国区官网: http://www.owasp.org.cn
在这里插入图片描述

中国区官微:

在这里插入图片描述

二、OWASP是什么?

描述: Open Web Application Security Project (OWASP)开源Web应用安全项目(OWASP)是一个在线开放的社区,致力于帮助各企业组织开发、购买和维护可信任的应用程序。使应用软件更加安全,使企业和组织能够对应用安全风险做出更清晰的决策。目前OWASP全球拥有250个分部近7万名会员,共同推动了安全标准、安全测试工具、安全指导手册等应用安全技术的发展。

并且每几年都会颁布相应的TOP 10风险分析,帮助网络安全IT从业人员了解安全标准以及风险管控,所以在web应用安全世界里有一个权威性的名词叫做OWASP我将它看做是做安全开发的标准。

三、OWASP 前 10 名是什么?

开放式Web应用程序安全项目(OWASP)是一个由来自世界各地的安全专家组成的开源社区,他们通过制定 OWASP 前 10 名(前 10 名最受关注的名单)分享了他们在漏洞、威胁、攻击和对策方面的专业知识危险的当前 Web 应用程序安全漏洞,以及处理这些漏洞的有效方法。实现 OWASP 合规性是将组织内的软件开发文化转变为生成安全代码的有效的第一步。开发可靠、安全的产品是在当今过度饱和的市场中获得一席之地的最佳方式。

四、2023 - OWASP API Security Top 10

OWASP API Security是一项专注于API安全的研究项目,旨在唤醒公众对API潜在风险的认识,提醒开发人员和安全人员加强对API安全的关注。从2019年首次发布API Security Top 10起,这份清单便以其独特的视角,准确地揭示了API安全中的重要风险。随后,2023年的更新版本是 OWASP API Security Top 10 的第二版,距首次发布正好四年。API(安全)领域发生了很多变化。API 流量快速增长让API 安全获得更多关注,涌现出许多新的 API 安全供应商/解决方案,当然,攻击者已经开发出新的技能和技巧来破坏 API。以下是2023年发布的最新的风险清单

OWASP Top 10 API Security Risks – 2023 - OWASP API Security Top 10

Risk

Description

API1:2023 - Broken Object Level Authorization

APIs tend to expose endpoints that handle object identifiers, creating a wide attack surface of Object Level Access Control issues. Object level authorization checks should be considered in every function that accesses a data source using an ID from the user.

API2:2023 - Broken Authentication

Authentication mechanisms are often implemented incorrectly, allowing attackers to compromise authentication tokens or to exploit implementation flaws to assume other user’s identities temporarily or permanently. Compromising a system’s ability to identify the client/user, compromises API security overall.

API3:2023 - Broken Object Property Level Authorization

This category combines API3:2019 Excessive Data Exposure and API6:2019 - Mass Assignment, focusing on the root cause: the lack of or improper authorization validation at the object property level. This leads to information exposure or manipulation by unauthorized parties.

API4:2023 - Unrestricted Resource Consumption

Satisfying API requests requires resources such as network bandwidth, CPU, memory, and storage. Other resources such as emails/SMS/phone calls or biometrics validation are made available by service providers via API integrations, and paid for per request. Successful attacks can lead to Denial of Service or an increase of operational costs.

API5:2023 - Broken Function Level Authorization

Complex access control policies with different hierarchies, groups, and roles, and an unclear separation between administrative and regular functions, tend to lead to authorization flaws. By exploiting these issues, attackers can gain access to other users’ resources and/or administrative functions.

API6:2023 - Unrestricted Access to Sensitive Business Flows

APIs vulnerable to this risk expose a business flow - such as buying a ticket, or posting a comment - without compensating for how the functionality could harm the business if used excessively in an automated manner. This doesn’t necessarily come from implementation bugs.

API7:2023 - Server Side Request Forgery

Server-Side Request Forgery (SSRF) flaws can occur when an API is fetching a remote resource without validating the user-supplied URI. This enables an attacker to coerce the application to send a crafted request to an unexpected destination, even when protected by a firewall or a VPN.

API8:2023 - Security Misconfiguration

APIs and the systems supporting them typically contain complex configurations, meant to make the APIs more customizable. Software and DevOps engineers can miss these configurations, or don’t follow security best practices when it comes to configuration, opening the door for different types of attacks.

API9:2023 - Improper Inventory Management

APIs tend to expose more endpoints than traditional web applications, making proper and updated documentation highly important. A proper inventory of hosts and deployed API versions also are important to mitigate issues such as deprecated API versions and exposed debug endpoints.

API10:2023 - Unsafe Consumption of APIs

Developers tend to trust data received from third-party APIs more than user input, and so tend to adopt weaker security standards. In order to compromise APIs, attackers go after integrated third-party services instead of trying to compromise the target API directly.

在这里插入图片描述

五、2023 Top 10 说明

1. 对象级授权被破坏

由于验证数据对象访问的授权控制存在缺陷,当用户可以访问其他用户的数据时,就会出现对象级授权损坏 (BOLA) 漏洞。BOLA 漏洞通常是由不安全的编码实践引起的,例如在授予对象访问权限之前未能正确验证用户输入或检查权限。当 API 使用过于宽松的访问控制或 API 资源没有得到充分保护时,就会发生这种情况。

缓解策略:

  • 采用随机、通用唯一标识符 (UUID)。
  • 建立强大的授权协议。
  • 采用零信任安全框架。

2. 认证失效

当身份验证协议不够强大或执行不正确时,就会出现安全问题。这为攻击者在未被发现的情况下破坏 API 敞开了大门。身份验证弱点可以通过多种方式表现出来,包括但不限于不良的密码创建最佳实践、受损的密码存储系统以及基于令牌的身份验证框架中的漏洞。

缓解策略:

  • 实施强密码策略。
  • 使用安全密码存储方法,例如 bcrypt 或 Argon2。
  • 尽可能实施多重身份验证 (MFA)。

3.破坏对象属性级别授权

损坏的对象属性级别授权是一种安全风险,当攻击者可以访问或修改他们不应访问的对象的属性时,就会发生这种安全风险。如果 API 在授予对象属性访问权限之前未正确验证用户权限,则可能会发生这种情况。

缓解策略:

  • 对所有对象属性实施适当的访问控制检查。
  • 在授予对对象属性的访问权限之前验证用户权限。
  • 使用基于属性的访问控制 (ABAC) 定义精细的访问规则。

4. 资源消耗不受限制

当攻击者利用 API 漏洞消耗过多的系统资源(例如内存、CPU 或网络带宽)时,就会发生无限制的资源消耗或拒绝服务 (DoS) 攻击。这可能会导致受影响的服务降级或完全不可用。

缓解策略:

  • 监视和限制资源使用。
  • 实施速率限制以控制来自客户端的请求数量。
  • 使用缓存来减少后端系统的负载。

5. 功能级别授权被破坏

功能级授权损坏本质上是指由于不安全的直接对象引用 (IDOR) 问题,普通用户可以执行应为管理员保留的任务的情况。当用户的分级权限系统不完整或出现故障时,就会发生这种情况。

缓解策略:

  • 对所有 API 端点实施严格的授权检查。
  • 使用基于角色的访问控制 (RBAC) 来管理用户权限。
  • 定期审查和更新访问控制策略。

6. 不受限制地访问敏感业务流程

当 API 未能实施适当的访问控制时,就会出现对敏感业务流的不受限制的访问,从而允许未经授权的用户执行敏感操作或访问机密数据。

缓解策略:

  • 为所有 API 端点实施强大的身份验证和授权机制。
  • 应用最小权限原则,授予用户执行任务所需的最低权限。
  • 定期审核和监控API访问日志,以检测和响应潜在的安全事件。

7. 服务器端请求伪造(SSRF)

服务器端请求伪造 (SSRF) 是一个漏洞,允许攻击者操纵服务器端请求,可能导致未经授权访问内部资源或远程执行代码。这可能会导致敏感数据暴露、关键系统中断甚至整个系统受损。

缓解策略:

  • 验证和清理服务器端请求中使用的用户提供的输入。这有助于确保您的应用程序仅处理合法请求,并降低 SSRF 攻击的风险。
  • 限制 API 可以访问的请求类型和资源。实施严格的访问控制有助于防止未经授权的操作并限制 SSRF 攻击的潜在影响。
  • 实施网络分段和防火墙规则以限制对内部系统的访问。您可以通过将敏感资源与面向公众的 API 隔离来降低 SSRF 攻击成功的可能性。

8. 安全配置错误

当 API 未安全配置时,就会发生安全配置错误,从而使其面临各种安全风险。安全配置错误的示例包括使用默认凭据、未能关闭不必要的功能或忽略及时应用安全补丁。

缓解策略:

  • 在开发的早期阶段使用安全配置设置您的 API。
  • 定期审查和更新 API 配置,以确保它们持续应用最佳安全实践。
  • 使用自动化工具通过持续监控来检测和修复安全配置错误。

9、库存管理不当

库存管理不当与组织使用的 API 缺乏足够的控制有关。这可能会导致未经授权的访问和增加攻击面,从而将敏感数据暴露给恶意方。随着组织使用的 API 数量不断增加,跟踪其功能、端点和可访问性指令以维护对 API 生态系统的整体保护至关重要。

缓解策略:

  • 维护组织内所有 API 的最新清单,包括其用途、端点和访问控制。这可以帮助您识别潜在的安全漏洞并确保所有 API 都得到充分保护。
  • 定期审查和更新 API 文档,以确保其准确反映 API 的当前状态。清晰准确的文档对于开发人员和安全专业人员有效理解和保护 API 至关重要。
  • 停用未使用或已弃用的 API,以最大程度地减少攻击面。删除不必要的 API 可以降低攻击者发现和利用易受攻击端点的可能性。

10. API 的不安全使用

当应用程序无法验证、过滤或清理从外部 API 接收的数据时,就会发生 API 的不安全使用。这可能会导致注入攻击或数据泄露等安全漏洞。随着组织越来越依赖第三方 API 来提供关键功能,确保安全使用对于防止攻击者利用这些集成变得更加重要。

缓解策略:

  • 在处理或存储之前验证和清理从外部 API 接收的所有数据。这有助于确保您的应用程序中仅使用有效且安全的数据。
  • 使用允许列表和严格的数据类型限制实施输入验证,以防止您的应用程序处理潜在有害的数据。
  • 使用安全的 API 网关来过滤和监控传入的 API 请求,从而针对针对您的 API 的恶意流量添加一层保护。

六、Top10 2023与 2019的差异

2023与 2019 年十大 API 安全风险相比有不少变化。我们来仔细探究一下2023年与2019年相比,OWASP API Top 10所呈现出的风险变化。

在这里插入图片描述

(一)持续不变的风险

对象级别授权失败 (BOLA)、功能级别授权失败 (BFLA) 和安全配置错误是 2023 年列表中三个不变的 OWASP 十大 API 漏洞类别。他们在名单上的位置也保持不变。

对象级别授权失败(Broken Object Level Authorization) 在 OWASP API Top 10 2023 列表中仍然排名第一,这个问题在基于 API 的应用程序中极为常见,因为服务器组件通常不会完全跟踪客户端的状态,而是更多地依赖于从客户端发送的对象 ID 等参数来决定访问哪些对象。

功能级别授权失败(Broken Function Level Authorization)和安全配置错误(Security Misconfiguration) 排名同样没有更新,它们仍然很容易被利用,并且可以轻松访问敏感数据和受限资源。

(二)新增的风险

OWASP API Top 10 2023 新增了对敏感业务无限制访问、服务器端请求伪造 (SSRF) 和 API 的不安全使用三类。
敏感业务访问无限制(Unrestricted Access to Sensitive Business Flows) 在 OWASP API 2023 年 10 强榜单中排名第 6,缺乏 API 完整的业务视图往往会导致此问题的存在。

服务端请求伪造(SSRF) 登上了最新的 OWASP Top 10 Web 应用程序漏洞榜单,今年也进入了 API Top 10 榜单。SSRF 在 2023 API 前 10 名榜单中排名第 7。SSRF 之所以能上榜,主要是由于这些年来SSRF 攻击的显着增加,在现代 IT 架构中,越来越多的容器化组件使用 API 通过可预测的路径进行通信。开发人员还倾向于根据用户输入访问外部资源,例如基于 URL 的文件获取、自定义单点登录 (SSO)、URL 预览等。虽然这些功能增强了应用程序的功能,同样也使利用 SSRF 漏洞变得更加常见。

API 的不安全使用(Unsafe Consumption of APIs) 是2023 年榜单中的第三个新成员,排名第 10。与用户输入相比,开发人员更倾向于信任从第三方 API 接收的数据,而当依赖的第三方的API存在风险时将被攻击者利用。

(三)更新的风险

用户身份认证失败(Broken User Authentication )修改为身份认证失败 (Broken Authentication),并且在 OWASP 2023 年 API 前十名列表中仍保持第二名的位置。

损坏的对象属性级别授权( Broken Object Property Level Authorization),在最新列表中排名第 3,结合了数据过度暴露 (API03:2019)和批量分配 (API06:2019)。这两个漏洞都强调需要正确保护 API参数 ,以防止威胁参与者未经授权的访问和利用。

资源访问无限制(Lack of Resources and Rate Limiting ) 已重命名为资源消耗无限制(Unrestricted Resource Consumption)。以前,重点只放在漏洞上,但现在资源消耗无限制还强调了没有适当的速率限制和其他资源使用限制的后果。

(四)删除的风险

日志和监控不足(Insufficient Logging and Monitoring and Injections)和注入(Injection) 已从 OWASP API Top 10 2023 列表中删除。

七、安全测试工具OWASP ZAP

目前市面上常用的Web应用程序安全测试的工具为:OWASP ZAP(Zed Attack Proxy)和AppScan;

OWASP ZAP是一个开源的Web应用程序安全测试工具,它提供了一系列功能,包括漏洞扫描、代理拦截、自动化扫描和报告生成等。ZAP是一个轻量级的工具,适合用于快速测试和发现Web应用程序中的漏洞。

APPscan是一款商业化的Web应用程序安全测试工具,由IBM公司开发。它提供了更多的高级功能,如自动化扫描、漏洞修复建议、安全配置审计等。AppScan还具有更强大的报告生成功能,可以帮助用户更好地理解和解决发现的安全问题。

总的来说,OWASP ZAP适合小型团队或个人使用,而AppScan适合大型企业或需要更全面安全测试的组织使用。选择哪个工具取决于公司的具体需求和预算。

(一)OWASP ZAP简介

OWASP ZAP 攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,ZAP可以帮助我们在开发和测试应用程序过程中,自动发现 Web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。

OWASP ZAP(Zed Attack Proxy)可以用来进行以下方面的安全测试:

1. 漏洞扫描:ZAP可以扫描Web应用程序中的常见漏洞,如跨站脚本(XSS)、SQL注入、CSRF等。

2. 安全配置审计:ZAP可以检查Web应用程序的安全配置,如是否启用了安全标头、是否存在敏感信息泄露等

3. 渗透测试:ZAP可以模拟攻击者的行为,如尝试暴力破解密码、尝试利用漏洞获取敏感信息等。

4. 自动化测试:ZAP可以通过API进行自动化测试,可以集成到CI/CD流程中进行持续集成和持续部署。

5. 安全漏洞报告:ZAP可以生成详细的安全漏洞报告,包括漏洞的描述、影响、修复建议等信息。

它还是一个跨平台的工具,支持Windows、Linux和Mac OS等操作系统。它还提供了丰富的插件和扩展功能,可以根据用户的需求进行定制和扩展。

总的来说,OWASP ZAP是一个功能强大且易于使用的安全测试工具,可以帮助用户提高应用程序的安全性。

(二)OWASP ZAP优缺点

优点:

免费的web application 扫描器。更加集成性,更加完整,功能更加完善,用途更加广泛,平台稳定性也更加好的web扫描器。

缺点:

现阶段ZAP的中文支持做得还不是很好,基本的操作界面以英文为主。就插件而言,没有burpSuit工具丰富。

(三)OWASP ZAP安装

有Windows(64)安装程序、 Windows(32)安装程序、 Linux安装程序、 MacOS安装程序等。

1.下载地址

OWASP ZAP 官方下载地址:https://www.zaproxy.org/download/
在这里插入图片描述

git加速地址(ZAP下载慢时,使用加速地址):https://github.moeyy.xyz/
在这里插入图片描述
git加速:

在这里插入图片描述

2.下载注意

Windows下载下来的是exe的,双击就可以了!Linux下载后是.sh/tar.gz,直接用命令安装即可。

目前我们使用OWASP ZAP 2.15.0版本,在安装前Windows和Linux版本需要安装Java 11以上的JDK.其他版本的OWASP ZAP对应的JDK版本,官网都有介绍

使用ZAP需要chrome和Firefox测试驱动包,测试发现ZAP自带的chrome测试驱动版本不对,使用以下chrome测试驱动下载地址:https://googlechromelabs.github.io/chrome-for-testing/#stable
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(四)OWASP ZAP主要功能介绍

1.选择语言以及界面介绍

在这里插入图片描述

在这里插入图片描述

2.初次启动的session实例保存

在这里插入图片描述

1.将本次扫描结果保存到一个ZAP默认的路径中。

2.将本次扫描结果保存到一个指定的路径中(推荐选第二个)。

3.本次扫描结果不保存。

3.默认侦听的端口是8080

如果要更改端口,则点击选项按钮进行修改即可。

在这里插入图片描述

4.更新插件

在这里插入图片描述

Release:经过长期的测试使用,现在已经是正式发布的版本,很稳定。

Beta:不太成熟,但是已经推出来给大家使用,可能在使用过程中存在缺陷。

Alpha:比beta还要beta的版本,由于某种需求临时推出来的插件。

5.扫描模式

在这里插入图片描述

安全: 以比较安全的方式去扫描网站,不会对网站做任何的破坏性的操作。

保护:只对指定的网站做一些危险性的扫描。

标准:会有一些危险的扫描动作,有可能对目标站点做一些破坏,但破坏不会很大。

攻击:能扫多少扫多少,能有多猛就多猛。

6.证书安装

在这里插入图片描述

保存为cer文件,然后导入浏览器中使用即可。

7.API

http://zap/ # 需要开启ZAP监听的情况下访问,该网站提供API方便开发人员使用

8.扫描策略

在这里插入图片描述

默认告警阈值:简单的理解为扫描器发现漏洞的信息强度,一般中等即可,防止漏报误报的情况。

默认攻击强度:参考扫描模式。

应用的是阈值,To针对的是ZAP已安装的插件,除了这个之外,是可以单独调整不通插件的阈值和强度。

9.常见选项的解释

在这里插入图片描述

HTTP SESSIONS:更改不同的SESSIONS,可以让ZAP用不同的身份去扫描。

防止CSRF:部分网站有防CSRF攻击,从而设置Token,该功能让ZAP允许进行CSRF测试,将网站的CSRF变量名写入即可。

Passive Scan Rules:被动规则扫描的内容设置。

检查更新:顾名思义。

10.编码解码功能

在这里插入图片描述

(五)扫描网站实例

目标地址:http://testphp.vulnweb.com/ # AWVS的漏洞测试网址。

1.访问网站后,在站点中会记录访问过的网址

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.选中目标网址,右键—>攻击—>主动扫描

在这里插入图片描述

在这里插入图片描述

3.在底部的标签栏中会显示测试的进度、测试发出的请求等等

在这里插入图片描述

4.在警报栏中可以看见扫出来的漏洞种类及数量

在这里插入图片描述

5.最后导出漏洞报告

在这里插入图片描述
在这里插入图片描述

6.漏洞报告查看

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词