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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux硬盘的检测–smartctl详细介绍

    Linux硬盘的检测–smartctl详细介绍概述 随着硬盘容量、速度的快速发展,硬盘的可靠性问题越来越重要,今天的单块硬盘存储容量可轻松达到1TB,硬盘损坏带来的影响非常巨大。不同的文件系统(xfs,reiserfs,ext3)都有自己的检测和修复工具。检测之前可以先使用dmesg命令查看有没有硬件I/O故障的日志,如果有,先用fsck看看是不是文件系统有问题,如果不是则可以使用下面介绍硬盘检测和优化方法来修复它。grep"erro…

    2022年6月15日
    31
  • 怎么完全卸载赛门铁克_Symantec卸载方法,赛门铁克卸载「建议收藏」

    怎么完全卸载赛门铁克_Symantec卸载方法,赛门铁克卸载「建议收藏」1、首先在服务里面设置所有Symantec开头的系统服务为禁止(控制面板-管理工具-服务),重启后在命令行运行:smc-stop;(stop需要密码就关掉先)2、删除HKEY_LOCAL_MACHINE/SOFTWARE/Symantec/SymantecEndpointProtection/SMC下的SmcInstData子键;(删除后F5刷新下,如果这个子键又自己出现了,说明有Syman…

    2022年4月27日
    122
  • 常用Lamda表达式

    常用Lamda表达式1、在工作中我们有部分lamda表达式经常会用到,在此做个小总结这里新建个实体类,来做测试publicclassLamdaVO{privateIntegerid;privateStringname;privateStringeamil;publicLamdaVO(){}publicLamdaVO(Integ…

    2022年6月11日
    31
  • java 调用webservice asmx「建议收藏」

    java 调用webservice asmx「建议收藏」用的jar包axis,可以在http://download.csdn.net/download/xiaoyong8823/4391971这里下载因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前服务端一般会给个以http://xxx/services?wsdl地址的文件或者地址。这次对方给我个http://xxxx/serv

    2022年6月1日
    39
  • oracle 创建emp表,dept表

    oracle 创建emp表,dept表废话不多说直接上SQL/*创建empz表*/CREATETABLEEMP(EMPNONUMBER(4)NOTNULL,ENAMEVARCHAR2(10),JOBVARCHAR2(9),MGRNUMBER(4),HIREDATEDATE,SALNUMBER(7,2),COMMNUMBER(7,2),DEPTNONUMBER(2));/*emp表添加数据*/INSERTINTOEMPVALUES(7369,’SMITH’,’CLE..

    2022年5月12日
    49
  • idea2021激活码破解方法

    idea2021激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    68

发表回复

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

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