首页 > 解决方案 > 可以将对象 ID 放入数据集属性吗?

问题描述

所以我只是想知道将数据放入元素的数据集中是否被认为是安全漏洞,即使它是要被看到的。

例如,如果 instagram 将每个帖子的 id 从其数据库中放入每个帖子元素的数据集属性中

另一个例子是:将帖子的 id 放入数据集中

标签: htmlapisecurity

解决方案


OWASP 将此称为不安全的直接对象引用 (IDOR)——当您向客户端公开对内部对象的“直接引用”(数据库 ID 等)时——这绝对可能是一个安全问题。

在这里引用 OWASP,这是一个比任何人都好的专家:

IDOR 不会带来直接的安全问题,因为它本身只显示用于对象标识符的格式/模式。根据现有的格式/模式,IDOR 为攻击者带来了发起枚举攻击的能力,以尝试探测对关联对象的访问。

因此,从本质上讲,如果您显示数据库 ID 以及它们更改的模式,并且您遇到某种访问控制问题(您依赖于默默无闻的安全性,或者您的访问控制中有某种错误),攻击者可以找到访问系统上任何对象的方法,因为他们知道所有对象遵循的 ID 方案,因此可以枚举到数据库中的任何对象。

这是一个重大缺陷,但绝不是唯一的缺陷。查看OWASP 备忘单了解更多详情!


推荐阅读