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

コーダーがセキュリティを征服:共有して学ぶシリーズ:安全でないダイレクトオブジェクトリファレンス

ヤープ・キャラン・シン
发布于 2019 年 3 月 14 日
最后更新于 2026年3月10日

URL是浏览我们所知道和喜爱的所有网站和网络应用程序的关键。它们的基本功能是识别资源的位置以及如何检索它们。虽然URL对于万维网的运行是必要的,但如果不适当地保护,它们也会构成安全风险。

在这篇文章中,我们将学习。

  • 什么是IDOR以及攻击者如何使用IDOR
  • 为什么IDOR是危险的
  • 可以修复这一漏洞的技术

了解IDOR

直接对象引用是指在一个应用程序中引用一个特定的记录("对象")。它通常采用唯一标识符的形式,并可能出现在一个URL中。

例如,你可能会注意到在一个URL的末尾有类似"?id=12345 "的东西。这个数字,12345,是对一个特定记录的参考。当个别记录的访问控制不存在时,安全漏洞就会悄然出现。这允许用户访问他们不应该看到的记录和数据。这是一种需要较低技术水平的攻击。

在这个例子中,我们假设攻击者将URL中的ID改为12344。在一个容易受到IDOR影响的应用程序中,攻击者将能够看到与该记录有关的数据。

这种类型的漏洞到底能造成多大的损害?

知道为什么IDOR是危险的

当开发人员不小心时,他们可以设计一个系统,在不同的地方显示和泄露应用记录。这种程度的漏洞可能是重大的,特别是涉及敏感数据或PII时。

澳大利亚税务局建立了一个网站 ,以帮助企业征收新税。不幸的是,它被包装成一个IDOR漏洞的不受欢迎的功能。一个好奇的用户意识到,网站内的URL包含了他的澳大利亚商业号码,或ABN。碰巧的是,这是一个任何注册企业都容易发现的号码。这位用户决定将其他公司的号码放入URL。他得到了他们的银行账户信息和个人详细资料!这是他的天赋。

苹果最近成为一个IDOR漏洞的受害者。当iPad首次发布时,11.4万个客户的电子邮件地址被泄露。公平地说,这更像是AT&T方面的一个错误)。

你看,AT&T建立了一项服务,支持iPad的3G连接。iPad向AT&T的服务发送存储在SIM卡上的标识符。该服务随后返回用户的电子邮件地址。

不幸的是,这些标识符只是连续的整数,因此很容易被猜到。攻击者通过标识符进行迭代并窃取电子邮件地址。

另一个错误是,AT&T的服务试图 "保护 "服务,只在请求的user-agent头显示来自iPad时才返回电子邮件地址。用户代理只是一个字符串值,可以很容易地被操纵。

IDOR漏洞可能是微妙的、偷偷摸摸的。让我们来讨论如何战胜它们。

打败IDOR

访问控制是解决IDOR的关键。当一个用户请求一个特定的记录时,要确保他们被授权查看所请求的记录。

使用集中的授权模块是最好的方法。像Spring Security这样的工具为应用程序提供了强大的、可定制的认证和授权。

一句话:有一个模块,所有其他代码都依赖它来执行授权检查。

另一个常见的缓解措施是使用代用参考。与其在你的URL中使用实际的数据库记录标识符,你可以创建随机数字来映射到实际记录。

使用代理引用可以确保攻击者不能仅仅通过猜测下一个有效的标识符来获得一条记录。

最后,不要依赖用户可以操作的任何东西来提供授权。AT&T试图使用用户代理头来授权他们的服务。不要依赖HTTP头、cookies、或GET和POST参数。

随着这些缓解措施的到位,IDOR将成为过去。

确保你的推荐人

不安全的直接对象引用是最容易被利用的漏洞之一。不要让它们在你最不期望的时候悄悄出现在你面前。总是检查用户是否被授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。

通过查看我们的学习资源来建立你的掌握能力。通过练习如何在你选择的语言中减轻IDOR漏洞,你将在你的生产代码库中找到并修复这个问题。你还可以通过Secure Code Warrior 平台的免费演示来检验你新发现的防御知识,该平台可以培训网络安全团队成为最终的网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

准备好现在就抵御IDOR的攻击了吗?前往平台,免费挑战自己。[从这里开始]

显示资源
显示资源

直接オブジェクト参照とは、特定のレコード (「オブジェクト」) がアプリケーション内で参照されることです。通常は一意の識別子の形をとり、URL に表示されることもあります。

您还有兴趣吗?

Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

了解更多

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

预约演示
分享:
领英品牌社交x 标志
著者
ヤープ・キャラン・シン
2019年3月14日发布

Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

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

URL是浏览我们所知道和喜爱的所有网站和网络应用程序的关键。它们的基本功能是识别资源的位置以及如何检索它们。虽然URL对于万维网的运行是必要的,但如果不适当地保护,它们也会构成安全风险。

在这篇文章中,我们将学习。

  • 什么是IDOR以及攻击者如何使用IDOR
  • 为什么IDOR是危险的
  • 可以修复这一漏洞的技术

了解IDOR

直接对象引用是指在一个应用程序中引用一个特定的记录("对象")。它通常采用唯一标识符的形式,并可能出现在一个URL中。

例如,你可能会注意到在一个URL的末尾有类似"?id=12345 "的东西。这个数字,12345,是对一个特定记录的参考。当个别记录的访问控制不存在时,安全漏洞就会悄然出现。这允许用户访问他们不应该看到的记录和数据。这是一种需要较低技术水平的攻击。

在这个例子中,我们假设攻击者将URL中的ID改为12344。在一个容易受到IDOR影响的应用程序中,攻击者将能够看到与该记录有关的数据。

这种类型的漏洞到底能造成多大的损害?

知道为什么IDOR是危险的

当开发人员不小心时,他们可以设计一个系统,在不同的地方显示和泄露应用记录。这种程度的漏洞可能是重大的,特别是涉及敏感数据或PII时。

澳大利亚税务局建立了一个网站 ,以帮助企业征收新税。不幸的是,它被包装成一个IDOR漏洞的不受欢迎的功能。一个好奇的用户意识到,网站内的URL包含了他的澳大利亚商业号码,或ABN。碰巧的是,这是一个任何注册企业都容易发现的号码。这位用户决定将其他公司的号码放入URL。他得到了他们的银行账户信息和个人详细资料!这是他的天赋。

苹果最近成为一个IDOR漏洞的受害者。当iPad首次发布时,11.4万个客户的电子邮件地址被泄露。公平地说,这更像是AT&T方面的一个错误)。

你看,AT&T建立了一项服务,支持iPad的3G连接。iPad向AT&T的服务发送存储在SIM卡上的标识符。该服务随后返回用户的电子邮件地址。

不幸的是,这些标识符只是连续的整数,因此很容易被猜到。攻击者通过标识符进行迭代并窃取电子邮件地址。

另一个错误是,AT&T的服务试图 "保护 "服务,只在请求的user-agent头显示来自iPad时才返回电子邮件地址。用户代理只是一个字符串值,可以很容易地被操纵。

IDOR漏洞可能是微妙的、偷偷摸摸的。让我们来讨论如何战胜它们。

打败IDOR

访问控制是解决IDOR的关键。当一个用户请求一个特定的记录时,要确保他们被授权查看所请求的记录。

使用集中的授权模块是最好的方法。像Spring Security这样的工具为应用程序提供了强大的、可定制的认证和授权。

一句话:有一个模块,所有其他代码都依赖它来执行授权检查。

另一个常见的缓解措施是使用代用参考。与其在你的URL中使用实际的数据库记录标识符,你可以创建随机数字来映射到实际记录。

使用代理引用可以确保攻击者不能仅仅通过猜测下一个有效的标识符来获得一条记录。

最后,不要依赖用户可以操作的任何东西来提供授权。AT&T试图使用用户代理头来授权他们的服务。不要依赖HTTP头、cookies、或GET和POST参数。

随着这些缓解措施的到位,IDOR将成为过去。

确保你的推荐人

不安全的直接对象引用是最容易被利用的漏洞之一。不要让它们在你最不期望的时候悄悄出现在你面前。总是检查用户是否被授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。

通过查看我们的学习资源来建立你的掌握能力。通过练习如何在你选择的语言中减轻IDOR漏洞,你将在你的生产代码库中找到并修复这个问题。你还可以通过Secure Code Warrior 平台的免费演示来检验你新发现的防御知识,该平台可以培训网络安全团队成为最终的网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

准备好现在就抵御IDOR的攻击了吗?前往平台,免费挑战自己。[从这里开始]

显示资源
显示资源

要下载报告,请填写以下表格。

恳请允许我们向您发送有关本公司产品及/或相关安全编码主题的信息。我们始终以高度谨慎的态度处理您的个人信息,绝不会出于营销目的将其出售给其他公司。

送信
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”Cookie。设置完成后,您可以再次将其禁用。

URL是浏览我们所知道和喜爱的所有网站和网络应用程序的关键。它们的基本功能是识别资源的位置以及如何检索它们。虽然URL对于万维网的运行是必要的,但如果不适当地保护,它们也会构成安全风险。

在这篇文章中,我们将学习。

  • 什么是IDOR以及攻击者如何使用IDOR
  • 为什么IDOR是危险的
  • 可以修复这一漏洞的技术

了解IDOR

直接对象引用是指在一个应用程序中引用一个特定的记录("对象")。它通常采用唯一标识符的形式,并可能出现在一个URL中。

例如,你可能会注意到在一个URL的末尾有类似"?id=12345 "的东西。这个数字,12345,是对一个特定记录的参考。当个别记录的访问控制不存在时,安全漏洞就会悄然出现。这允许用户访问他们不应该看到的记录和数据。这是一种需要较低技术水平的攻击。

在这个例子中,我们假设攻击者将URL中的ID改为12344。在一个容易受到IDOR影响的应用程序中,攻击者将能够看到与该记录有关的数据。

这种类型的漏洞到底能造成多大的损害?

知道为什么IDOR是危险的

当开发人员不小心时,他们可以设计一个系统,在不同的地方显示和泄露应用记录。这种程度的漏洞可能是重大的,特别是涉及敏感数据或PII时。

澳大利亚税务局建立了一个网站 ,以帮助企业征收新税。不幸的是,它被包装成一个IDOR漏洞的不受欢迎的功能。一个好奇的用户意识到,网站内的URL包含了他的澳大利亚商业号码,或ABN。碰巧的是,这是一个任何注册企业都容易发现的号码。这位用户决定将其他公司的号码放入URL。他得到了他们的银行账户信息和个人详细资料!这是他的天赋。

苹果最近成为一个IDOR漏洞的受害者。当iPad首次发布时,11.4万个客户的电子邮件地址被泄露。公平地说,这更像是AT&T方面的一个错误)。

你看,AT&T建立了一项服务,支持iPad的3G连接。iPad向AT&T的服务发送存储在SIM卡上的标识符。该服务随后返回用户的电子邮件地址。

不幸的是,这些标识符只是连续的整数,因此很容易被猜到。攻击者通过标识符进行迭代并窃取电子邮件地址。

另一个错误是,AT&T的服务试图 "保护 "服务,只在请求的user-agent头显示来自iPad时才返回电子邮件地址。用户代理只是一个字符串值,可以很容易地被操纵。

IDOR漏洞可能是微妙的、偷偷摸摸的。让我们来讨论如何战胜它们。

打败IDOR

访问控制是解决IDOR的关键。当一个用户请求一个特定的记录时,要确保他们被授权查看所请求的记录。

使用集中的授权模块是最好的方法。像Spring Security这样的工具为应用程序提供了强大的、可定制的认证和授权。

一句话:有一个模块,所有其他代码都依赖它来执行授权检查。

另一个常见的缓解措施是使用代用参考。与其在你的URL中使用实际的数据库记录标识符,你可以创建随机数字来映射到实际记录。

使用代理引用可以确保攻击者不能仅仅通过猜测下一个有效的标识符来获得一条记录。

最后,不要依赖用户可以操作的任何东西来提供授权。AT&T试图使用用户代理头来授权他们的服务。不要依赖HTTP头、cookies、或GET和POST参数。

随着这些缓解措施的到位,IDOR将成为过去。

确保你的推荐人

不安全的直接对象引用是最容易被利用的漏洞之一。不要让它们在你最不期望的时候悄悄出现在你面前。总是检查用户是否被授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。

通过查看我们的学习资源来建立你的掌握能力。通过练习如何在你选择的语言中减轻IDOR漏洞,你将在你的生产代码库中找到并修复这个问题。你还可以通过Secure Code Warrior 平台的免费演示来检验你新发现的防御知识,该平台可以培训网络安全团队成为最终的网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

准备好现在就抵御IDOR的攻击了吗?前往平台,免费挑战自己。[从这里开始]

观看在线研讨会
开始吧
了解更多

请点击以下链接下载此资源的PDF文件。

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

显示报告预约演示
下载PDF文件
显示资源
分享:
领英品牌社交x 标志
您还有兴趣吗?

分享:
领英品牌社交x 标志
著者
ヤープ・キャラン・シン
2019年3月14日发布

Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

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

URL是浏览我们所知道和喜爱的所有网站和网络应用程序的关键。它们的基本功能是识别资源的位置以及如何检索它们。虽然URL对于万维网的运行是必要的,但如果不适当地保护,它们也会构成安全风险。

在这篇文章中,我们将学习。

  • 什么是IDOR以及攻击者如何使用IDOR
  • 为什么IDOR是危险的
  • 可以修复这一漏洞的技术

了解IDOR

直接对象引用是指在一个应用程序中引用一个特定的记录("对象")。它通常采用唯一标识符的形式,并可能出现在一个URL中。

例如,你可能会注意到在一个URL的末尾有类似"?id=12345 "的东西。这个数字,12345,是对一个特定记录的参考。当个别记录的访问控制不存在时,安全漏洞就会悄然出现。这允许用户访问他们不应该看到的记录和数据。这是一种需要较低技术水平的攻击。

在这个例子中,我们假设攻击者将URL中的ID改为12344。在一个容易受到IDOR影响的应用程序中,攻击者将能够看到与该记录有关的数据。

这种类型的漏洞到底能造成多大的损害?

知道为什么IDOR是危险的

当开发人员不小心时,他们可以设计一个系统,在不同的地方显示和泄露应用记录。这种程度的漏洞可能是重大的,特别是涉及敏感数据或PII时。

澳大利亚税务局建立了一个网站 ,以帮助企业征收新税。不幸的是,它被包装成一个IDOR漏洞的不受欢迎的功能。一个好奇的用户意识到,网站内的URL包含了他的澳大利亚商业号码,或ABN。碰巧的是,这是一个任何注册企业都容易发现的号码。这位用户决定将其他公司的号码放入URL。他得到了他们的银行账户信息和个人详细资料!这是他的天赋。

苹果最近成为一个IDOR漏洞的受害者。当iPad首次发布时,11.4万个客户的电子邮件地址被泄露。公平地说,这更像是AT&T方面的一个错误)。

你看,AT&T建立了一项服务,支持iPad的3G连接。iPad向AT&T的服务发送存储在SIM卡上的标识符。该服务随后返回用户的电子邮件地址。

不幸的是,这些标识符只是连续的整数,因此很容易被猜到。攻击者通过标识符进行迭代并窃取电子邮件地址。

另一个错误是,AT&T的服务试图 "保护 "服务,只在请求的user-agent头显示来自iPad时才返回电子邮件地址。用户代理只是一个字符串值,可以很容易地被操纵。

IDOR漏洞可能是微妙的、偷偷摸摸的。让我们来讨论如何战胜它们。

打败IDOR

访问控制是解决IDOR的关键。当一个用户请求一个特定的记录时,要确保他们被授权查看所请求的记录。

使用集中的授权模块是最好的方法。像Spring Security这样的工具为应用程序提供了强大的、可定制的认证和授权。

一句话:有一个模块,所有其他代码都依赖它来执行授权检查。

另一个常见的缓解措施是使用代用参考。与其在你的URL中使用实际的数据库记录标识符,你可以创建随机数字来映射到实际记录。

使用代理引用可以确保攻击者不能仅仅通过猜测下一个有效的标识符来获得一条记录。

最后,不要依赖用户可以操作的任何东西来提供授权。AT&T试图使用用户代理头来授权他们的服务。不要依赖HTTP头、cookies、或GET和POST参数。

随着这些缓解措施的到位,IDOR将成为过去。

确保你的推荐人

不安全的直接对象引用是最容易被利用的漏洞之一。不要让它们在你最不期望的时候悄悄出现在你面前。总是检查用户是否被授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。

通过查看我们的学习资源来建立你的掌握能力。通过练习如何在你选择的语言中减轻IDOR漏洞,你将在你的生产代码库中找到并修复这个问题。你还可以通过Secure Code Warrior 平台的免费演示来检验你新发现的防御知识,该平台可以培训网络安全团队成为最终的网络战士。要了解更多关于击败这个漏洞以及其他威胁的流氓画廊,请访问Secure Code Warrior 博客。

准备好现在就抵御IDOR的攻击了吗?前往平台,免费挑战自己。[从这里开始]

目录

下载PDF文件
显示资源
您还有兴趣吗?

Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

了解更多

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

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

开始所需的资源

其他投稿
资源中心

开始所需的资源

其他投稿