
程序员征服安全:分享与学习系列:不安全的直接对象参考
URL 对于浏览我们熟悉和喜爱的所有网站和 Web 应用程序至关重要。它们的基本功能是确定资源在哪里以及如何检索它们。尽管 URL 是万维网正常运行所必需的,但如果保护不当,它们也可能构成安全风险。
在这篇文章中,我们将学习:
- 什么是 IDOR 以及攻击者如何使用 IDOR
- 为什么 IDOR 很危险
- 可以修复此漏洞的技术
了解 IDOR
直接对象引用是指在应用程序中引用特定记录(“对象”)。它通常采用唯一标识符的形式,可能出现在 URL 中。
例如,你可能会注意到类似 “?网址末尾的 id=12345”。这个数字 12345 是对特定记录的引用。当个别记录的访问控制不存在时,安全漏洞就会蔓延。这允许用户访问他们不应该看到的记录和数据。这是一种需要相对较低技能水平的攻击。
在这种情况下,假设攻击者将 URL 中的 ID 更改为 12344。在易受 IDOR 攻击的应用程序中,攻击者将能够看到与该记录相关的数据。
这种漏洞到底能造成多大的伤害?
知道为什么 IDOR 很危险
当开发人员不小心时,他们可以设计一个在不同地方显示和泄露应用程序记录的系统。如此严重的泄露可能非常严重,尤其是在涉及敏感数据或 PII 时。
澳大利亚税务局 设置一个网站 帮助企业征收新税。不幸的是,它附带了IDOR漏洞的有害功能。一位好奇的用户意识到网站中的网址包含他的澳大利亚商业号码(ABN)。碰巧的是,对于任何注册企业来说,这都是一个很容易发现的号码。该用户决定将其他公司的号码放到网址中。他获得了他们的银行账户信息和个人详细信息!
苹果最近成为IDOR漏洞的受害者。iPad首次发布时,有11.4万个客户的电子邮件地址被泄露。(公平地说,是 更像是AT&T的错误)。
你看,AT&T开发了一项服务来支持iPad的3G连接。iPad向AT&T的服务发送了存储在SIM卡上的标识符。然后,该服务返回了用户的电子邮件地址。
不幸的是,这些标识符只是顺序整数,因此很容易被猜到。攻击者遍历标识符并窃取了电子邮件地址。
另一个错误是,AT&T的服务试图 “保护” 该服务,仅在请求出现时才返回电子邮件地址 用户代理标头 表示它来自 iPad。用户代理只是一个可以轻松操作的字符串值。
IDOR 漏洞可能很微妙而且很隐秘。让我们讨论如何打败他们。
击败 IDOR
访问控制是解决 IDOR 的关键。当用户请求特定记录时,请确保他们有权查看所请求的记录。
使用集中式授权模块是做到这一点的最佳方法。诸如此类的工具 春季安全 为应用程序提供强大且可自定义的身份验证和授权。
底线:拥有一个所有其他代码依赖的模块来执行授权检查。
另一种常见的缓解措施是使用替代引用。您可以创建映射回实际记录的随机数,而不是在 URL 中使用实际的数据库记录标识符。
使用代理引用可确保攻击者无法仅通过猜测下一个有效标识符来获得记录。
最后,不要依赖用户可以操纵的任何东西来提供授权。AT&T 尝试使用用户代理标头来授权他们的服务。不要依赖 HTTP 标头、Cookie 或 GET 和 POST 参数。
有了这些缓解措施,IDOR 将成为过去。
保护您的参考文献
不安全的直接对象引用是最容易被利用的漏洞之一。不要让他们在你最不期望的时候偷偷摸摸你。务必检查用户是否获得授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。
查看我们的,增强您的精通技能 学习资源。通过练习如何使用你选择的语言缓解 IDOR 漏洞,你可以在生产代码库中毫无问题地找到和修复这个问题。你还可以免费试用 Secure Code Warrior 平台,测试你新获得的防御知识,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。
准备好防御 IDOR 攻击了吗?前往平台免费挑战自我: [从这里开始]
Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。
预订演示Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.


URL 对于浏览我们熟悉和喜爱的所有网站和 Web 应用程序至关重要。它们的基本功能是确定资源在哪里以及如何检索它们。尽管 URL 是万维网正常运行所必需的,但如果保护不当,它们也可能构成安全风险。
在这篇文章中,我们将学习:
- 什么是 IDOR 以及攻击者如何使用 IDOR
- 为什么 IDOR 很危险
- 可以修复此漏洞的技术
了解 IDOR
直接对象引用是指在应用程序中引用特定记录(“对象”)。它通常采用唯一标识符的形式,可能出现在 URL 中。
例如,你可能会注意到类似 “?网址末尾的 id=12345”。这个数字 12345 是对特定记录的引用。当个别记录的访问控制不存在时,安全漏洞就会蔓延。这允许用户访问他们不应该看到的记录和数据。这是一种需要相对较低技能水平的攻击。
在这种情况下,假设攻击者将 URL 中的 ID 更改为 12344。在易受 IDOR 攻击的应用程序中,攻击者将能够看到与该记录相关的数据。
这种漏洞到底能造成多大的伤害?
知道为什么 IDOR 很危险
当开发人员不小心时,他们可以设计一个在不同地方显示和泄露应用程序记录的系统。如此严重的泄露可能非常严重,尤其是在涉及敏感数据或 PII 时。
澳大利亚税务局 设置一个网站 帮助企业征收新税。不幸的是,它附带了IDOR漏洞的有害功能。一位好奇的用户意识到网站中的网址包含他的澳大利亚商业号码(ABN)。碰巧的是,对于任何注册企业来说,这都是一个很容易发现的号码。该用户决定将其他公司的号码放到网址中。他获得了他们的银行账户信息和个人详细信息!
苹果最近成为IDOR漏洞的受害者。iPad首次发布时,有11.4万个客户的电子邮件地址被泄露。(公平地说,是 更像是AT&T的错误)。
你看,AT&T开发了一项服务来支持iPad的3G连接。iPad向AT&T的服务发送了存储在SIM卡上的标识符。然后,该服务返回了用户的电子邮件地址。
不幸的是,这些标识符只是顺序整数,因此很容易被猜到。攻击者遍历标识符并窃取了电子邮件地址。
另一个错误是,AT&T的服务试图 “保护” 该服务,仅在请求出现时才返回电子邮件地址 用户代理标头 表示它来自 iPad。用户代理只是一个可以轻松操作的字符串值。
IDOR 漏洞可能很微妙而且很隐秘。让我们讨论如何打败他们。
击败 IDOR
访问控制是解决 IDOR 的关键。当用户请求特定记录时,请确保他们有权查看所请求的记录。
使用集中式授权模块是做到这一点的最佳方法。诸如此类的工具 春季安全 为应用程序提供强大且可自定义的身份验证和授权。
底线:拥有一个所有其他代码依赖的模块来执行授权检查。
另一种常见的缓解措施是使用替代引用。您可以创建映射回实际记录的随机数,而不是在 URL 中使用实际的数据库记录标识符。
使用代理引用可确保攻击者无法仅通过猜测下一个有效标识符来获得记录。
最后,不要依赖用户可以操纵的任何东西来提供授权。AT&T 尝试使用用户代理标头来授权他们的服务。不要依赖 HTTP 标头、Cookie 或 GET 和 POST 参数。
有了这些缓解措施,IDOR 将成为过去。
保护您的参考文献
不安全的直接对象引用是最容易被利用的漏洞之一。不要让他们在你最不期望的时候偷偷摸摸你。务必检查用户是否获得授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。
查看我们的,增强您的精通技能 学习资源。通过练习如何使用你选择的语言缓解 IDOR 漏洞,你可以在生产代码库中毫无问题地找到和修复这个问题。你还可以免费试用 Secure Code Warrior 平台,测试你新获得的防御知识,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。
准备好防御 IDOR 攻击了吗?前往平台免费挑战自我: [从这里开始]

URL 对于浏览我们熟悉和喜爱的所有网站和 Web 应用程序至关重要。它们的基本功能是确定资源在哪里以及如何检索它们。尽管 URL 是万维网正常运行所必需的,但如果保护不当,它们也可能构成安全风险。
在这篇文章中,我们将学习:
- 什么是 IDOR 以及攻击者如何使用 IDOR
- 为什么 IDOR 很危险
- 可以修复此漏洞的技术
了解 IDOR
直接对象引用是指在应用程序中引用特定记录(“对象”)。它通常采用唯一标识符的形式,可能出现在 URL 中。
例如,你可能会注意到类似 “?网址末尾的 id=12345”。这个数字 12345 是对特定记录的引用。当个别记录的访问控制不存在时,安全漏洞就会蔓延。这允许用户访问他们不应该看到的记录和数据。这是一种需要相对较低技能水平的攻击。
在这种情况下,假设攻击者将 URL 中的 ID 更改为 12344。在易受 IDOR 攻击的应用程序中,攻击者将能够看到与该记录相关的数据。
这种漏洞到底能造成多大的伤害?
知道为什么 IDOR 很危险
当开发人员不小心时,他们可以设计一个在不同地方显示和泄露应用程序记录的系统。如此严重的泄露可能非常严重,尤其是在涉及敏感数据或 PII 时。
澳大利亚税务局 设置一个网站 帮助企业征收新税。不幸的是,它附带了IDOR漏洞的有害功能。一位好奇的用户意识到网站中的网址包含他的澳大利亚商业号码(ABN)。碰巧的是,对于任何注册企业来说,这都是一个很容易发现的号码。该用户决定将其他公司的号码放到网址中。他获得了他们的银行账户信息和个人详细信息!
苹果最近成为IDOR漏洞的受害者。iPad首次发布时,有11.4万个客户的电子邮件地址被泄露。(公平地说,是 更像是AT&T的错误)。
你看,AT&T开发了一项服务来支持iPad的3G连接。iPad向AT&T的服务发送了存储在SIM卡上的标识符。然后,该服务返回了用户的电子邮件地址。
不幸的是,这些标识符只是顺序整数,因此很容易被猜到。攻击者遍历标识符并窃取了电子邮件地址。
另一个错误是,AT&T的服务试图 “保护” 该服务,仅在请求出现时才返回电子邮件地址 用户代理标头 表示它来自 iPad。用户代理只是一个可以轻松操作的字符串值。
IDOR 漏洞可能很微妙而且很隐秘。让我们讨论如何打败他们。
击败 IDOR
访问控制是解决 IDOR 的关键。当用户请求特定记录时,请确保他们有权查看所请求的记录。
使用集中式授权模块是做到这一点的最佳方法。诸如此类的工具 春季安全 为应用程序提供强大且可自定义的身份验证和授权。
底线:拥有一个所有其他代码依赖的模块来执行授权检查。
另一种常见的缓解措施是使用替代引用。您可以创建映射回实际记录的随机数,而不是在 URL 中使用实际的数据库记录标识符。
使用代理引用可确保攻击者无法仅通过猜测下一个有效标识符来获得记录。
最后,不要依赖用户可以操纵的任何东西来提供授权。AT&T 尝试使用用户代理标头来授权他们的服务。不要依赖 HTTP 标头、Cookie 或 GET 和 POST 参数。
有了这些缓解措施,IDOR 将成为过去。
保护您的参考文献
不安全的直接对象引用是最容易被利用的漏洞之一。不要让他们在你最不期望的时候偷偷摸摸你。务必检查用户是否获得授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。
查看我们的,增强您的精通技能 学习资源。通过练习如何使用你选择的语言缓解 IDOR 漏洞,你可以在生产代码库中毫无问题地找到和修复这个问题。你还可以免费试用 Secure Code Warrior 平台,测试你新获得的防御知识,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。
准备好防御 IDOR 攻击了吗?前往平台免费挑战自我: [从这里开始]
URL 对于浏览我们熟悉和喜爱的所有网站和 Web 应用程序至关重要。它们的基本功能是确定资源在哪里以及如何检索它们。尽管 URL 是万维网正常运行所必需的,但如果保护不当,它们也可能构成安全风险。
在这篇文章中,我们将学习:
- 什么是 IDOR 以及攻击者如何使用 IDOR
- 为什么 IDOR 很危险
- 可以修复此漏洞的技术
了解 IDOR
直接对象引用是指在应用程序中引用特定记录(“对象”)。它通常采用唯一标识符的形式,可能出现在 URL 中。
例如,你可能会注意到类似 “?网址末尾的 id=12345”。这个数字 12345 是对特定记录的引用。当个别记录的访问控制不存在时,安全漏洞就会蔓延。这允许用户访问他们不应该看到的记录和数据。这是一种需要相对较低技能水平的攻击。
在这种情况下,假设攻击者将 URL 中的 ID 更改为 12344。在易受 IDOR 攻击的应用程序中,攻击者将能够看到与该记录相关的数据。
这种漏洞到底能造成多大的伤害?
知道为什么 IDOR 很危险
当开发人员不小心时,他们可以设计一个在不同地方显示和泄露应用程序记录的系统。如此严重的泄露可能非常严重,尤其是在涉及敏感数据或 PII 时。
澳大利亚税务局 设置一个网站 帮助企业征收新税。不幸的是,它附带了IDOR漏洞的有害功能。一位好奇的用户意识到网站中的网址包含他的澳大利亚商业号码(ABN)。碰巧的是,对于任何注册企业来说,这都是一个很容易发现的号码。该用户决定将其他公司的号码放到网址中。他获得了他们的银行账户信息和个人详细信息!
苹果最近成为IDOR漏洞的受害者。iPad首次发布时,有11.4万个客户的电子邮件地址被泄露。(公平地说,是 更像是AT&T的错误)。
你看,AT&T开发了一项服务来支持iPad的3G连接。iPad向AT&T的服务发送了存储在SIM卡上的标识符。然后,该服务返回了用户的电子邮件地址。
不幸的是,这些标识符只是顺序整数,因此很容易被猜到。攻击者遍历标识符并窃取了电子邮件地址。
另一个错误是,AT&T的服务试图 “保护” 该服务,仅在请求出现时才返回电子邮件地址 用户代理标头 表示它来自 iPad。用户代理只是一个可以轻松操作的字符串值。
IDOR 漏洞可能很微妙而且很隐秘。让我们讨论如何打败他们。
击败 IDOR
访问控制是解决 IDOR 的关键。当用户请求特定记录时,请确保他们有权查看所请求的记录。
使用集中式授权模块是做到这一点的最佳方法。诸如此类的工具 春季安全 为应用程序提供强大且可自定义的身份验证和授权。
底线:拥有一个所有其他代码依赖的模块来执行授权检查。
另一种常见的缓解措施是使用替代引用。您可以创建映射回实际记录的随机数,而不是在 URL 中使用实际的数据库记录标识符。
使用代理引用可确保攻击者无法仅通过猜测下一个有效标识符来获得记录。
最后,不要依赖用户可以操纵的任何东西来提供授权。AT&T 尝试使用用户代理标头来授权他们的服务。不要依赖 HTTP 标头、Cookie 或 GET 和 POST 参数。
有了这些缓解措施,IDOR 将成为过去。
保护您的参考文献
不安全的直接对象引用是最容易被利用的漏洞之一。不要让他们在你最不期望的时候偷偷摸摸你。务必检查用户是否获得授权。不要使用真实的数据库标识符。不要依赖用户控制的数据进行授权。
查看我们的,增强您的精通技能 学习资源。通过练习如何使用你选择的语言缓解 IDOR 漏洞,你可以在生产代码库中毫无问题地找到和修复这个问题。你还可以免费试用 Secure Code Warrior 平台,测试你新获得的防御知识,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客。
准备好防御 IDOR 攻击了吗?前往平台免费挑战自我: [从这里开始]
帮助您入门的资源
Threat Modeling with AI: Turning Every Developer into a Threat Modeler
Walk away better equipped to help developers combine threat modeling ideas and techniques with the AI tools they're already using to strengthen security, improve collaboration, and build more resilient software from the start.




%20(1).avif)
.avif)
