SRC挖掘—web不安全的直接对象引用 (IDOR)漏洞-3day

SRC挖掘—web不安全的直接对象引用 (IDOR)漏洞-3day什么是IDOR?当应用程序根据用户提供的输入提供对对象的直接访问时,就会发生不安全的直接对象引用(IDOR)。由于此漏洞,攻击者可以绕过授权并直接访问系统中的资源,例如数据库记录或文件。不安全的直接对象引用允许攻击者通过修改用于直接指向对象的参数值来绕过授权并直接访问资源。这些资源可以是属于其他用户的数据库条目、系统中的文件等等。这是因为应用程序接受用户提供的输入并使用它来检索对象而没有执行足够的授权检查。(来源:OWASP)让我们看一个例子。想象一下,您正在使用一个文档共享平台。您可以上传..

大家好,又见面了,我是你们的朋友全栈君。

什么是 IDOR?

当应用程序根据用户提供的输入提供对对象的直接访问时,就会发生不安全的直接对象引用 (IDOR)。由于此漏洞,攻击者可以绕过授权并直接访问系统中的资源,例如数据库记录或文件。不安全的直接对象引用允许攻击者通过修改用于直接指向对象的参数值来绕过授权并直接访问资源。这些资源可以是属于其他用户的数据库条目、系统中的文件等等。这是因为应用程序接受用户提供的输入并使用它来检索对象而没有执行足够的授权检查。(来源:  OWASP

让我们看一个例子。想象一下,您正在使用一个文档共享平台。您可以上传重要文档并与他人共享。一个常见的用例可能是您想与未来的雇主分享您的简历(包含个人数据)。

 检索文件的 HTTP 请求示例如下所示:

GET /document/sharing?docID=1337 HTTP/1.1

Host: example.com

攻击者现在可以尝试枚举“docID”请求参数。使用自动化工具,他/她可以例如尝试在几分钟内开始查询从 0 一直到非常高的数字的“docID”。

IDOR的影响!

不安全的直接对象引用漏洞的影响在很大程度上取决于应用程序的功能。因此,不能轻易给出明确的清单。一般来说,IDOR 漏洞可能会给 CIA(机密性、完整性、可用性)数据带来风险。

简单的说,你在发送消息或者做一些事情的时候会有一些id等于您当前的账号,如果修改此参数,可能会发生不一样的效果,当然不包括信息,可能文件,账户等等,也不一定是纯数字,总是应该细心关注每一个参数

IDOR 示例

有许多访问控制漏洞的例子,其中用户控制的参数值用于直接访问资源或功能。

直接引用数据库对象的 IDOR 漏洞

考虑一个网站,它通过从后端数据库检索信息,使用以下 URL 访问客户帐户页面:

https://insecure-website.com/customer_account?customer_number=132355

在这里,客户编号直接用作在后端数据库上执行的查询中的记录索引。如果没有其他控制措施,攻击者可以简单地修改该customer_number值,绕过访问控制来查看其他客户的记录。这是导致横向权限提升的 IDOR 漏洞示例。

攻击者可能能够通过在绕过访问控制的同时将用户更改为具有额外权限的用户来执行水平和垂直权限提升。例如,其他可能性包括一旦攻击者登陆用户的帐户页面,利用密码泄漏或修改参数。

直接引用静态文件的 IDOR 漏洞

当敏感资源位于服务器端文件系统的静态文件中时,通常会出现 IDOR 漏洞。例如,网站可能会使用递增的文件名将聊天消息记录保存到磁盘,并允许用户通过访问如下 URL 来检索这些记录:

https://insecure-website.com/static/12144.txt

在这种情况下,攻击者可以简单地修改文件名来检索另一个用户创建的脚本,并可能获取用户凭据和其他敏感数据。

如何预防 IDOR?

防止 IDOR 漏洞的最佳方法是对每个功能实施严格的访问控制检查,以查看用户是否有权访问和/或操作请求的对象。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135272.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Unity3D学习路线与学习经验分享[通俗易懂]

    Unity3D学习路线与学习经验分享[通俗易懂]Unity3D学习路线与学习经验分享//最后一次更新为2019.7.22日,更新了一些废掉的链接作者:15游02丁祺你好,这篇文档是我的导师孙老师(以下简称老孙)指名我书写给新手、初学者以及技能有些许缺陷的人的一篇经验分享的文档,当然如果你看到了这些文字,代表着你是一个有意愿或期望去学习这款软件的人。因人与人之间有很多的不同,以下我会尽我所能,通过不同切入点与角度,并根据以上人群的不同…

    2022年5月25日
    35
  • python求解中位数、均值、众数

    python求解中位数、均值、众数首先定义一个数据,在这里我假定为:num=[2,3,2,5,1,0,1,2,9]一、求中位数    中位数(又称中值,英语:Median),统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,则中位数不唯一,通常取最中间的两个数值的平均数…

    2025年12月14日
    5
  • 前端常见跨域解决方案[通俗易懂]

    前端常见跨域解决方案[通俗易懂]前端常见跨域解决方案

    2022年4月22日
    39
  • centos7 查看端口占用_如何查看端口是否被占用

    centos7 查看端口占用_如何查看端口是否被占用 netstat-nap#会列出所有正在使用的端口及关联的进程/应用netstat-lnp|grep5000这条语句的作用是查询占用5000端口的应用和进程,把5000端口替换成你要过滤的端口就可以可以看到占用5000端口的进程的基本信息如果要杀掉占用端口的进程执行以下命令即可:kill-928533可以看到进程已被杀死 …

    2022年7月27日
    18
  • 二进制实现加法_递归实现十进制转换二进制

    二进制实现加法_递归实现十进制转换二进制一、原理1、化简先看一个例子:看一下3+4的加法运算3的二进制表示:0114的二进制表示:1003^4(3按位异或4)的结果是:111=>7上面的到的结果是

    2022年8月3日
    7
  • 欧拉函数及其证明_欧拉函数证明题

    欧拉函数及其证明_欧拉函数证明题请思考以下问题:  任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)计算这个值的方法就叫做欧拉函数,以φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以φ(n)=4。φ(n)的计算方法并不复杂,但是为了得到最后那个公式,需要一步步讨论。第一种情况如果n=1,则φ(1

    2022年8月22日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号