SCW图标
英雄背景无分隔线
博客

程序员征服安全 OWASP 十大 API 系列-数据泄露过多

马蒂亚斯-马杜博士
出版日期: 2020 年 9 月 23 日
最后更新于 2026年3月9日

过度数据泄露漏洞与OWASP清单上的其他API问题不同,因为它涉及一种非常特殊的数据。漏洞背后的实际机制与其他漏洞相似,但在这种情况下,过度数据泄露被定义为涉及受法律保护或高度敏感的数据。这可能包括任何个人身份信息,通常被称为 PII。或者它可能涉及支付卡行业信息或PCI。最后,过度的数据泄露可能包括受隐私法约束的任何信息,例如欧洲的《通用数据保护条例》(GDPR)或美国的《健康保险流通与责任法案》(HIPAA)。

正如你可能想象的那样,这令人深感担忧,精明的开发人员必须学会如何尽可能地消除这些错误。如果你已经准备好对抗数据暴露巨龙,那就去参加我们的游戏化挑战赛吧:

你的分数是多少?继续阅读并了解更多:

有哪些过度数据泄露的例子?

发生过度数据泄露的主要原因之一是开发人员和程序员对他们的应用程序将使用的数据类型没有足够的洞察力。因此,开发人员倾向于使用通用流程,将所有对象属性暴露给最终用户。

开发人员有时还会假设前端组件会在向用户显示任何信息之前执行数据过滤。对于大多数通用数据来说,这很少成为问题。但是,例如,将受法律保护或敏感的数据作为会话ID的一部分暴露给用户,从安全和法律的角度来看,可能会导致重大问题。

OWASP报告设想了一个场景,即保安人员有权访问设施中基于物联网的特定摄像机,以此举例说明敏感数据很容易被意外共享。也许这些摄像机正在监视封闭和安全的区域,而其他监视人员的摄像机本应仅限于具有更高权限的警卫或监督人员。

为了向警卫提供访问授权摄像机的权限,开发人员可以使用如下所示的 API 调用。

/api/sites/111/相机

作为回应,该应用程序将以以下格式发送警卫能够看到的摄像机的详细信息:

{“id”: “xxx”,“live_access_token”: “xxxxbbbb”,“building_id”: “yyy”}

从表面上看,这似乎效果很好。警卫在应用程序上使用图形用户界面,只能看到他们有权查看的摄像机画面。问题在于,由于使用的通用代码,实际的API响应将包含整个设施中所有摄像机的完整列表。任何在网络中窃取数据或泄露警卫账户的人都能够发现网络中每台摄像机的位置和命名法。然后,他们可以不受限制地访问这些数据。

消除过多的数据泄露

防止过度数据泄露的最大关键是了解数据及其周围的保护措施。创建通用 API 并让客户端在向用户显示数据之前对数据进行排序是一个危险的选择,它会导致许多可预防的安全漏洞。

除了了解相关的数据保护外,停止使用通用 API 向用户发送所有内容的过程也很重要。例如,必须避免使用诸如 to_json () 和 to_string () 之类的代码。取而代之的是,该代码应专门选择需要归还给授权用户的属性,并专门发送这些信息。

为了确保没有意外过度共享受保护的数据,组织应考虑实施基于架构的响应验证机制作为额外的安全层。它应该定义和强制所有API方法返回的数据,包括错误报告规则。

最后,所有归类为包含 PII 或 PCI 的数据,或受 GDPR 或 HIPAA 等法规保护的信息,都应使用高度加密进行保护。这样,即使这些数据的位置作为过度数据泄露漏洞的一部分泄露了,也有一道良好的次要防线,即使数据落入恶意用户或威胁行为者手中,也应该保护数据。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

查看资源
查看资源

该漏洞背后的实际机制与其他漏洞相似,但在这种情况下,过度数据泄露被定义为涉及受法律保护或高度敏感的数据。

对更多感兴趣?

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

了解更多

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
马蒂亚斯-马杜博士
发表于2020年9月23日

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

马蒂亚斯是一名研究员和开发人员,拥有超过15年的软件安全实践经验。他曾为Fortify Software和他自己的公司Sensei Security等公司开发解决方案。在他的职业生涯中,马蒂亚斯领导了多个应用安全研究项目,并将其转化为商业产品,他拥有超过10项专利。当他离开办公桌时,Matias曾担任高级应用安全培训courses ,并定期在全球会议上发言,包括RSA会议、黑帽、DefCon、BSIMM、OWASP AppSec和BruCon。

马蒂亚斯拥有根特大学的计算机工程博士学位,在那里他研究了通过程序混淆来隐藏应用程序的内部工作的应用安全。

分享到:
领英品牌社交x 标志

过度数据泄露漏洞与OWASP清单上的其他API问题不同,因为它涉及一种非常特殊的数据。漏洞背后的实际机制与其他漏洞相似,但在这种情况下,过度数据泄露被定义为涉及受法律保护或高度敏感的数据。这可能包括任何个人身份信息,通常被称为 PII。或者它可能涉及支付卡行业信息或PCI。最后,过度的数据泄露可能包括受隐私法约束的任何信息,例如欧洲的《通用数据保护条例》(GDPR)或美国的《健康保险流通与责任法案》(HIPAA)。

正如你可能想象的那样,这令人深感担忧,精明的开发人员必须学会如何尽可能地消除这些错误。如果你已经准备好对抗数据暴露巨龙,那就去参加我们的游戏化挑战赛吧:

你的分数是多少?继续阅读并了解更多:

有哪些过度数据泄露的例子?

发生过度数据泄露的主要原因之一是开发人员和程序员对他们的应用程序将使用的数据类型没有足够的洞察力。因此,开发人员倾向于使用通用流程,将所有对象属性暴露给最终用户。

开发人员有时还会假设前端组件会在向用户显示任何信息之前执行数据过滤。对于大多数通用数据来说,这很少成为问题。但是,例如,将受法律保护或敏感的数据作为会话ID的一部分暴露给用户,从安全和法律的角度来看,可能会导致重大问题。

OWASP报告设想了一个场景,即保安人员有权访问设施中基于物联网的特定摄像机,以此举例说明敏感数据很容易被意外共享。也许这些摄像机正在监视封闭和安全的区域,而其他监视人员的摄像机本应仅限于具有更高权限的警卫或监督人员。

为了向警卫提供访问授权摄像机的权限,开发人员可以使用如下所示的 API 调用。

/api/sites/111/相机

作为回应,该应用程序将以以下格式发送警卫能够看到的摄像机的详细信息:

{“id”: “xxx”,“live_access_token”: “xxxxbbbb”,“building_id”: “yyy”}

从表面上看,这似乎效果很好。警卫在应用程序上使用图形用户界面,只能看到他们有权查看的摄像机画面。问题在于,由于使用的通用代码,实际的API响应将包含整个设施中所有摄像机的完整列表。任何在网络中窃取数据或泄露警卫账户的人都能够发现网络中每台摄像机的位置和命名法。然后,他们可以不受限制地访问这些数据。

消除过多的数据泄露

防止过度数据泄露的最大关键是了解数据及其周围的保护措施。创建通用 API 并让客户端在向用户显示数据之前对数据进行排序是一个危险的选择,它会导致许多可预防的安全漏洞。

除了了解相关的数据保护外,停止使用通用 API 向用户发送所有内容的过程也很重要。例如,必须避免使用诸如 to_json () 和 to_string () 之类的代码。取而代之的是,该代码应专门选择需要归还给授权用户的属性,并专门发送这些信息。

为了确保没有意外过度共享受保护的数据,组织应考虑实施基于架构的响应验证机制作为额外的安全层。它应该定义和强制所有API方法返回的数据,包括错误报告规则。

最后,所有归类为包含 PII 或 PCI 的数据,或受 GDPR 或 HIPAA 等法规保护的信息,都应使用高度加密进行保护。这样,即使这些数据的位置作为过度数据泄露漏洞的一部分泄露了,也有一道良好的次要防线,即使数据落入恶意用户或威胁行为者手中,也应该保护数据。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

查看资源
查看资源

填写下面的表格下载报告

我们希望获得您的许可,以便向您发送有关我们的产品和/或相关安全编码主题的信息。我们将始终非常谨慎地对待您的个人信息,绝不会出于营销目的将其出售给其他公司。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用“分析”Cookie。完成后,可以随意再次禁用它们。

过度数据泄露漏洞与OWASP清单上的其他API问题不同,因为它涉及一种非常特殊的数据。漏洞背后的实际机制与其他漏洞相似,但在这种情况下,过度数据泄露被定义为涉及受法律保护或高度敏感的数据。这可能包括任何个人身份信息,通常被称为 PII。或者它可能涉及支付卡行业信息或PCI。最后,过度的数据泄露可能包括受隐私法约束的任何信息,例如欧洲的《通用数据保护条例》(GDPR)或美国的《健康保险流通与责任法案》(HIPAA)。

正如你可能想象的那样,这令人深感担忧,精明的开发人员必须学会如何尽可能地消除这些错误。如果你已经准备好对抗数据暴露巨龙,那就去参加我们的游戏化挑战赛吧:

你的分数是多少?继续阅读并了解更多:

有哪些过度数据泄露的例子?

发生过度数据泄露的主要原因之一是开发人员和程序员对他们的应用程序将使用的数据类型没有足够的洞察力。因此,开发人员倾向于使用通用流程,将所有对象属性暴露给最终用户。

开发人员有时还会假设前端组件会在向用户显示任何信息之前执行数据过滤。对于大多数通用数据来说,这很少成为问题。但是,例如,将受法律保护或敏感的数据作为会话ID的一部分暴露给用户,从安全和法律的角度来看,可能会导致重大问题。

OWASP报告设想了一个场景,即保安人员有权访问设施中基于物联网的特定摄像机,以此举例说明敏感数据很容易被意外共享。也许这些摄像机正在监视封闭和安全的区域,而其他监视人员的摄像机本应仅限于具有更高权限的警卫或监督人员。

为了向警卫提供访问授权摄像机的权限,开发人员可以使用如下所示的 API 调用。

/api/sites/111/相机

作为回应,该应用程序将以以下格式发送警卫能够看到的摄像机的详细信息:

{“id”: “xxx”,“live_access_token”: “xxxxbbbb”,“building_id”: “yyy”}

从表面上看,这似乎效果很好。警卫在应用程序上使用图形用户界面,只能看到他们有权查看的摄像机画面。问题在于,由于使用的通用代码,实际的API响应将包含整个设施中所有摄像机的完整列表。任何在网络中窃取数据或泄露警卫账户的人都能够发现网络中每台摄像机的位置和命名法。然后,他们可以不受限制地访问这些数据。

消除过多的数据泄露

防止过度数据泄露的最大关键是了解数据及其周围的保护措施。创建通用 API 并让客户端在向用户显示数据之前对数据进行排序是一个危险的选择,它会导致许多可预防的安全漏洞。

除了了解相关的数据保护外,停止使用通用 API 向用户发送所有内容的过程也很重要。例如,必须避免使用诸如 to_json () 和 to_string () 之类的代码。取而代之的是,该代码应专门选择需要归还给授权用户的属性,并专门发送这些信息。

为了确保没有意外过度共享受保护的数据,组织应考虑实施基于架构的响应验证机制作为额外的安全层。它应该定义和强制所有API方法返回的数据,包括错误报告规则。

最后,所有归类为包含 PII 或 PCI 的数据,或受 GDPR 或 HIPAA 等法规保护的信息,都应使用高度加密进行保护。这样,即使这些数据的位置作为过度数据泄露漏洞的一部分泄露了,也有一道良好的次要防线,即使数据落入恶意用户或威胁行为者手中,也应该保护数据。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

观看网络研讨会
开始吧
了解更多

点击下面的链接并下载此资源的PDF。

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

查看报告预约演示
查看资源
分享到:
领英品牌社交x 标志
对更多感兴趣?

分享到:
领英品牌社交x 标志
作者
马蒂亚斯-马杜博士
发表于2020年9月23日

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

马蒂亚斯是一名研究员和开发人员,拥有超过15年的软件安全实践经验。他曾为Fortify Software和他自己的公司Sensei Security等公司开发解决方案。在他的职业生涯中,马蒂亚斯领导了多个应用安全研究项目,并将其转化为商业产品,他拥有超过10项专利。当他离开办公桌时,Matias曾担任高级应用安全培训courses ,并定期在全球会议上发言,包括RSA会议、黑帽、DefCon、BSIMM、OWASP AppSec和BruCon。

马蒂亚斯拥有根特大学的计算机工程博士学位,在那里他研究了通过程序混淆来隐藏应用程序的内部工作的应用安全。

分享到:
领英品牌社交x 标志

过度数据泄露漏洞与OWASP清单上的其他API问题不同,因为它涉及一种非常特殊的数据。漏洞背后的实际机制与其他漏洞相似,但在这种情况下,过度数据泄露被定义为涉及受法律保护或高度敏感的数据。这可能包括任何个人身份信息,通常被称为 PII。或者它可能涉及支付卡行业信息或PCI。最后,过度的数据泄露可能包括受隐私法约束的任何信息,例如欧洲的《通用数据保护条例》(GDPR)或美国的《健康保险流通与责任法案》(HIPAA)。

正如你可能想象的那样,这令人深感担忧,精明的开发人员必须学会如何尽可能地消除这些错误。如果你已经准备好对抗数据暴露巨龙,那就去参加我们的游戏化挑战赛吧:

你的分数是多少?继续阅读并了解更多:

有哪些过度数据泄露的例子?

发生过度数据泄露的主要原因之一是开发人员和程序员对他们的应用程序将使用的数据类型没有足够的洞察力。因此,开发人员倾向于使用通用流程,将所有对象属性暴露给最终用户。

开发人员有时还会假设前端组件会在向用户显示任何信息之前执行数据过滤。对于大多数通用数据来说,这很少成为问题。但是,例如,将受法律保护或敏感的数据作为会话ID的一部分暴露给用户,从安全和法律的角度来看,可能会导致重大问题。

OWASP报告设想了一个场景,即保安人员有权访问设施中基于物联网的特定摄像机,以此举例说明敏感数据很容易被意外共享。也许这些摄像机正在监视封闭和安全的区域,而其他监视人员的摄像机本应仅限于具有更高权限的警卫或监督人员。

为了向警卫提供访问授权摄像机的权限,开发人员可以使用如下所示的 API 调用。

/api/sites/111/相机

作为回应,该应用程序将以以下格式发送警卫能够看到的摄像机的详细信息:

{“id”: “xxx”,“live_access_token”: “xxxxbbbb”,“building_id”: “yyy”}

从表面上看,这似乎效果很好。警卫在应用程序上使用图形用户界面,只能看到他们有权查看的摄像机画面。问题在于,由于使用的通用代码,实际的API响应将包含整个设施中所有摄像机的完整列表。任何在网络中窃取数据或泄露警卫账户的人都能够发现网络中每台摄像机的位置和命名法。然后,他们可以不受限制地访问这些数据。

消除过多的数据泄露

防止过度数据泄露的最大关键是了解数据及其周围的保护措施。创建通用 API 并让客户端在向用户显示数据之前对数据进行排序是一个危险的选择,它会导致许多可预防的安全漏洞。

除了了解相关的数据保护外,停止使用通用 API 向用户发送所有内容的过程也很重要。例如,必须避免使用诸如 to_json () 和 to_string () 之类的代码。取而代之的是,该代码应专门选择需要归还给授权用户的属性,并专门发送这些信息。

为了确保没有意外过度共享受保护的数据,组织应考虑实施基于架构的响应验证机制作为额外的安全层。它应该定义和强制所有API方法返回的数据,包括错误报告规则。

最后,所有归类为包含 PII 或 PCI 的数据,或受 GDPR 或 HIPAA 等法规保护的信息,都应使用高度加密进行保护。这样,即使这些数据的位置作为过度数据泄露漏洞的一部分泄露了,也有一道良好的次要防线,即使数据落入恶意用户或威胁行为者手中,也应该保护数据。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

目录

下载PDF
查看资源
对更多感兴趣?

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

了解更多

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子