不安全的直接对象引用(IDOR)
翻译
原文:https://portswigger.net/web-security/access-control/idor
- name: 翻译
desc: 原文:https://portswigger.net/web-security/access-control/idor
bgColor: '#F0DFB1'
textColor: 'green'
1
2
3
4
2
3
4
# 不安全的直接对象引用(IDOR)
在本节中,我们将解释什么是不安全的直接对象引用(IDOR),并描述一些常见的漏洞。
# 1什么是不安全的直接对象引用(IDOR)?
不安全的直接对象引用(IDOR)是一种访问控制 (opens new window)漏洞,当应用程序使用用户提供的输入直接访问对象时,就会出现这种漏洞。IDOR 一词因其出现在 OWASP 2007 Top 10 排行榜中而广为人知。然而,这只是许多访问控制实施错误中,最著名的一个例子,其它错误都可能导致访问控制被绕过。IDOR 漏洞通常与水平权限提升有关,但偶尔也可能与垂直权限提升有关。
# 2IDOR示例
有许多访问控制漏洞的示例,其中一种:用户控制的参数值将用于直接访问资源或函数。
# 2.1直接引用数据库对象的 IDOR 漏洞
假设有一个网站,该网站将使用以下 URL ,并从后端数据库中检索信息,最后访问客户的账户页面:
https:/customer_account?customer_number=132355
1
在这里,客户编号被直接作用在 后端数据库执行查询的记录索引中。如果没有其他控制措施,攻击者只需修改customer_number
值,即可绕过访问控制,然后查看其他客户的记录。这是导致水平权限提升的 IDOR 漏洞示例。
攻击者可以通过 将用户更改为具有额外权限的用户,来执行水平和垂直权限提升,同时绕过访问控制。例如,密码泄露的利用,或 在攻击者登陆用户的帐户页面之后篡改参数。
# 2.2直接引用静态文件的 IDOR 漏洞
当敏感资源位于 服务器端文件系统上的静态文件中时,通常会出现 IDOR 漏洞。例如,网站可能会使用递增的文件名,将聊天消息记录保存到磁盘,并允许用户通过如下所示的 URL 来访问和检索这些内容:
https:/static/12144.txt
1
在这种情况下,攻击者只需修改文件名,即可检索其他用户创建的记录,并有可能获得用户凭据和其他敏感数据。
- name: 实验室-学徒
desc: 不安全的直接对象引用 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/access-control/lab-insecure-direct-object-references
bgColor: '#001350'
textColor: '#39d50c'
1
2
3
4
5
6
2
3
4
5
6
编辑 (opens new window)