站长

挖洞经验 | 利用越权漏洞(IDOR)实现账户劫持

作者:admin 2021-07-22 我要评论

不安全的直接对象引用(IDOR也称越权)是一种非常常见的Web授权逻辑型漏洞,其漏洞利用危害有时很小,有时也非常严重,今天我们就来讨论一种严重型的IDOR漏洞利用...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

不安全的直接对象引用(IDOR也称越权)是一种非常常见的Web授权逻辑型漏洞,其漏洞利用危害有时很小,有时也非常严重,今天我们就来讨论一种严重型的IDOR漏洞利用方式-即利用IDOR实现账户或项目的劫持。作者以该漏洞利用方式在多个众测项目中获得了多达$25,000的奖励赏金。

攻击者若劫持了受害者账户就能以受害者身份执行所有账户环境操作了。攻击者若劫持了项目,即可获得相应的项目管理权限。有时,IDOR攻击不能实现对目标账户的完全劫持,但却可以获得受害者或管理员账户环境中的一些资源访问管理权,我在多个众测项目中就遇到了这种情况。

IDOR漏洞介绍

不安全的直接对象引用(Insecure Direct Object Reference),该漏洞多出现在一些公司的服务台(helpdesk)接口系统上,通过更改变化其中的票据或用户ID,从而可以读取到其它用户相关的票据或账户信息。但实现上,IDOR漏洞不仅仅限于变化ID数值读取他人资源,它还可造成某些数据的篡改。

另外,如果有时相关ID很难猜测,或用UUID或HASH串代替,这种情况下的IDOR漏洞可能性就很小。但依我的经验来看,只要认真测试,还是能发现一些有用ID来的。以导致的后果来分类,IDOR可分为以下四类:

  • 数据读取
  • 数据篡改
  • 权限提升(这是一种非常特别的数据更改方式)
  • 账户劫持(真正意义上的提权)

下面我们就来讨论利用IDOR漏洞实现账户或项目劫持。

利用IDOR实现账户劫持

如果利用IDOR来实现对目标账户或实体项目的劫持呢?比如,这里有个主账户,它在其账户环境下创建了名为manager的子账户或一些运营项目,我们的目的就是劫持这个manager子账户和运营项目。

对主账户或用户会话的劫持相对较难,因为有时攻击者的账户环境不能直接访问到主账户,但我们可以通过劫持低权限子账户,或其关联项目的方式来实现对主账户的劫持。以下是我在一些众测项目中遇到的情况。

1. 在创建或删除项目时出现的IDOR漏洞

如某网站针对普通用户,有不同订阅计划对应了不同价格,另外针对企业客户又会依据需求设置企业计划。我的测试账户身处企业计划范围中,可以访问到企业计划项目,并且可向其中添加常规项目,且可查看相应状态。

我发现在两个地方同时存在IDOR漏洞:即向企业计划中添加项目和删除项目时。当添加项目时,操作非常简单:提交一个携带JSON格式内容的POST请求,其中包含了项目名称,由于该项目名称任何人可查看到,因此这里的IDOR在于,可以把他人的项目名称包含在请求内提交,从而获得对他人项目的控制管理:

  1. POST /api/projects/victim/children HTTP/1.1 
  2. Host: victim.com 
  3.   
  4. {"subdomain":"victim1"} 

另外的删除处的IDOR有些复杂,该网站从逻辑上来说,删除项目的机制是不正确的。比如当删除某个项目时,其POST删除请求中仅只包含了一些序列化的项目描述属性,但却没有和具体项目相关的ID号。因此,这里的IDOR漏洞在于,可以往这个POST请求中添加项目号,更改为他人的项目ID,从而删除他人项目。

这里的复杂性在于,项目ID号是随机的,因此他人的项目ID是不可猜测的,但可以通过一种方式来发现:到项目的公共主页中的HTML页面中寻找,如下:

因此,最终删除他人项目的POSG请求可以这样构造:

  1. Host: victim.com 
  2. Cookie: ... 
  3.   
  4. {"childrenProjects":["id_project1","id_project2","id_project_victim"]} 

2. 用户资料更新时的IDOR漏洞

这种方式的漏洞综合利用了另外一种不恰当的访问控制漏洞,最终实现了非常高危的影响。由于针对访问控制的不当配置,我可以查看到他人的项目详情和相关联的子账户,利用该漏洞还可获取一些敏感数据。但在进一步的研究中我又发现另外一个问题:即可以在更改个人资料的过程中,把他人的子账户以ID形式关联进入,从而可控制该子账户,控制其创建项目,查看并编辑相关数据,实现账户劫持IDOR。

总结

经过测试,我在city-mobil.ru中的跨平台系统中发现了这样IDOR导致的账户劫持漏洞,利用该漏洞可以获取到100多万名司机的数据:护 照和驾 照信息,另外还能更改司机的资料数据。

我前后利用该类型漏洞在多个众测项目中收获了$25,000的奖励,但如果该类型落到了网络犯罪份子手中,其价值远远超过这个金额。

参考来源:deteact

【责任编辑:赵宁宁 TEL:(010)68476606】
本文转载自网络,原文链接:https://www.freebuf.com/articles/web/251614.html

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 挖洞经验 | 利用越权漏洞(IDOR)实现

    挖洞经验 | 利用越权漏洞(IDOR)实现

  • 个人信息保护法解读,企业该如何接招?

    个人信息保护法解读,企业该如何接招?

  • 隐私问题是否扼杀了安全及相关市场的创

    隐私问题是否扼杀了安全及相关市场的创

  • 美国公布俄罗斯黑客用于攻击议会、大使

    美国公布俄罗斯黑客用于攻击议会、大使