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 漏洞的最佳方法是对每个功能实施严格的访问控制检查,以查看用户是否有权访问和/或操作请求的对象。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android中Calendar类的用法总结[通俗易懂]

    Android中Calendar类的用法总结[通俗易懂]Calendar是Android开发中需要获取时间时必不可少的一个工具类,通过这个类可以获得的时间信息还是很丰富的,下面做一个总结,以后使用的时候就不用总是去翻书或者查资料了。

  • jQuery鼠标悬停3d菜单展开动画

    效果体验:http://hovertree.com/texiao/jquery/93/竖直的主菜单贴着页面左侧,当光标移入菜单项时,以3D动画的方式弹出对应的二级菜单。采用jQuery和CSS3实现。

    2021年12月28日
  • Python复杂对象转JSON

    Python复杂对象转JSONPython复杂对象转JSON在Python对于简单的对象转json还是比较简单的,如下:importjsond={‘a’:’aaa’,’b’:[‘b1′,’b2′,’b3′],’c’:100}json_str=json.dumps(d)printjson_str对于复杂对象,可以使用下面的方法来实现,比如:importjsonclassCustomer:

  • #从源头解决# 自定义头文件在VS上出现“无法打开源文件“XX.h“的问题

    #从源头解决# 自定义头文件在VS上出现“无法打开源文件“XX.h“的问题自己编写了一个头文件,在主函数中通过#include引用时出现了无法打开源文件的问题,通过网上查阅,发现是自己混淆了#include<>和#include””的用法。问题完美解决!…

  • unity c++ c#(3d加工编程软件)

    一、前言这篇文章主要是给零基础想要Unity入门的关于C#编程的一些意见二、参考文章unity中的C#编程-零基础(Unity2017)三、正文1.什么是C#编程语言?微软官方出版2.编程工具(IDE)3.创建第一个C#代码4.场景的保存和脚本的保存5.关于日志输出(指控制输出,其中Log有三类:正常、警告、错误输出)6.变量7.方法的定义和调…

  • SQL 开发任务超 50% !滴滴实时计算的演进与优化

    SQL 开发任务超 50% !滴滴实时计算的演进与优化摘要:ApacheFlink是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速…

发表回复

您的电子邮箱地址不会被公开。

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