
コーダーがセキュリティを征服:共有して学ぶシリーズ:安全でないダイレクトオブジェクトリファレンス
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的攻击了吗?前往平台,免费挑战自己。[从这里开始]
Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。
预约演示Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。


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是浏览我们所知道和喜爱的所有网站和网络应用程序的关键。它们的基本功能是识别资源的位置以及如何检索它们。虽然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是浏览我们所知道和喜爱的所有网站和网络应用程序的关键。它们的基本功能是识别资源的位置以及如何检索它们。虽然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的攻击了吗?前往平台,免费挑战自己。[从这里开始]
开始所需的资源
Trust Agent:AI - Secure and scale AI-Drive development
AI is writing code. Who’s governing it? With up to 50% of AI-generated code containing security weaknesses, managing AI risk is critical. Discover how SCW's Trust Agent: AI provides the real-time visibility, proactive governance, and targeted upskilling needed to scale AI-driven development securely.
OpenText 应用程序安全性的强大功能 + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.




