编码员征服安全。分享与学习系列。不安全的直接对象引用
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 的共同创始人。

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
预定一个演示Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。


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的攻击了吗?前往平台,免费挑战自己。[从这里开始]
资源
安全技能基准测试:简化企业安全设计
寻找有关 "按设计确保安全 "计划成功与否的有意义的数据是众所周知的难题。首席信息安全官(CISO)在试图证明投资回报率(ROI)和安全计划活动在人员和公司层面上的商业价值时,往往会面临挑战。更不用说,企业要深入了解自己的组织是如何以当前的行业标准为基准的,更是难上加难。美国总统的《国家网络安全战略》向利益相关者提出了 "通过设计实现安全和弹性 "的挑战。让 "按设计保证安全 "计划发挥作用的关键不仅在于为开发人员提供确保代码安全的技能,还在于向监管机构保证这些技能已经到位。在本演讲中,我们将分享大量定性和定量数据,这些数据来自多个主要来源,包括从超过 25 万名开发人员那里收集的内部数据点、数据驱动的客户洞察力以及公共研究。利用这些数据点的汇总,我们旨在传达一个跨多个垂直领域的 "按设计保证安全 "计划的现状。报告详细阐述了这一领域目前未得到充分利用的原因、成功的技能提升计划对降低网络安全风险的重大影响,以及消除代码库中各类漏洞的潜力。