在阅读了220份IDOR漏洞报告后的心得体会

渗透技巧 2年前 (2022) admin
901 0 0

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。


背景介绍:


今天的分享来自国外一位名叫Sm9I的白帽子,他从hackerone中梳理了220份有关IDOR的漏洞报告,花了一周的时间,整理出这份心得体会。


为了便于参考,本文中将通过数字来引用各种漏洞报告,这些数字与漏洞报告相关联,可以通过替换URL:https://hackerone.com/reports/XXXXXX中的XXXXXX从而快速找到这些漏洞报告。


什么IDOR:


IDOR的全称,Insecure Direct Object Reference,中文直译为不安全的直接对象引用。国内更喜欢称之为“越权利用”。


你所理解的IDOR也许是错误的:


其实作者的意思是“你对IDOR的理解太狭隘了”,通常我们会认为IDOR只是寻找一个名为“ID”(或类似)的参数,然后用另一个参数替换这个数字,比如

797685这份报告



在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/797685


然后接收到的响应Status 200,表示完成了来自不同用户的操作。


在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/797685


其实IDOR远非如此,IDOR并不一定要应用于帐户,或是ID。让我们来更详细地讨论这个误解。


IDOR通常在哪儿发现?


白帽小哥在阅读了这些IDOR漏洞报告后,统计了发现这些漏洞的地方,统计结果如下:


在阅读了220份IDOR漏洞报告后的心得体会


这些这些漏洞发现点的占比分布:


  • REST APIs 31.8%

  • GET parameters 25.8%

  • POST request bodies 21.2%

  • graphQL endpoints 9.1%

  • PUT parameters 4.5%

  • IDs in the request header 3.0%

  • IDs in the cookies 3.0%

  • Misc Query langauges 1.5%


IDOR很容易发现,甚至不需要什么技巧


经常会听到人们表达这种想法,认为IDOR漏洞的挖掘是非常简单的,虽然在技术上IDOR可能确实比大多其它类型的漏洞更简单,但是作者认为我们仍需要学习一些概念来提高IDOR挖掘的成功率,通过Hackerone上TOP10漏洞数据比较,IDOR仍是产生更高回报的漏洞。


在阅读了220份IDOR漏洞报告后的心得体会

Hackerone上按漏洞类型计算的漏洞赏金总额统计


心得要点:


  • 你能找到不是增量的id吗?有时可以通过访问页面或资产中找到ID。


在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/404797


ID可以在Twitter页面的源代码中找到:


在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/181748

  • ID是否以明文形式进行编码?(291721)

  • 无需事先验证,是否可以直接从URL中访问文件/资源?94790, 258260, 230328, 230870, 126861)


图像通常更容易受到以上攻击,见报告258260:


在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/258260


  • 发现类似保护较少的站点,是否可以Bypass?(876300,715054,271393)


主站点的一些备用站点可能包含主站点中曾修补的漏洞,尝试切换不同地区的顶级域名,或在不同的API中寻找:


在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/876300


  • 是否可以通过更改请求方法来获得IDOR,或者漏洞是否涉及使用不同的方法?(204984、199321、297751)

在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/199321


  • ID有时不仅仅是数字,也可能是字符串,有时可以通过修改用户名或电子邮件来利用IDOR(262661、152407、587687)

在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/152407


IDOR有哪些影响?调整你的预期

IDOR可能是获得高权限帐户接管的最简单方法,但是狭隘地看待这个问题,可能会阻止你发现一些不同或较低权限的IDOR漏洞,思考:


  • PII级是否泄露 (293490, 980511, 723461, 668439, 783708, 439729, 152407)


293490报告向我们展示了IDOR如何在响应中导致所有用户电子邮件地址的泄漏:


在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/293490


  • 绕过付款码(391092)

在阅读了220份IDOR漏洞报告后的心得体会

https://hackerone.com/reports/391092


  • 你能用他人帐户操作吗?(1005020,725569,258260)

  • 你能摧毁或破坏任何资产或信息吗?(156537, 264754, 153905, 120115)


摘要/关键点


  • IDOR漏洞比大多数人想象的更为广泛

  • 几乎80%的IDOR都是在REST API、GET参数或POST请求体中找到的,但你仍然应该搜索其他20%的IDOR

  • 找到IDOR的成功来自于找到它们的创造性方法

  • 你的目标不要总放在试图找到P1级的漏洞上


今天的分享就是这些,如果觉得不错,请分享给更多喜爱的朋友~

====正文结束====

原文始发于微信公众号(骨哥说事):在阅读了220份IDOR漏洞报告后的心得体会

版权声明:admin 发表于 2022年2月25日 下午2:21。
转载请注明:在阅读了220份IDOR漏洞报告后的心得体会 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...