找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4148

积分

0

好友

570

主题
发表于 3 小时前 | 查看: 2| 回复: 0

免责声明  

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。
如有侵权烦请后台告知,我们会立即删除并致歉,谢谢!

漏洞细节

这是我作为漏洞赏金猎人,在漏洞赏金平台上直接向上游提交重要漏洞的经历故事。

“Alhamdulillahi rabbil alamin”(感谢真主,全世界的主宰)无疑是我要说的第一句话!
这是我作为漏洞赏金猎人,在漏洞赏金平台上直接向上游提交重要漏洞的经历故事。

我是如何找到那些重要漏洞的呢?让我们首先谈谈基础知识。

你有 web/app 编程的先验经验吗?
当然你对 CRUD 是熟悉的!但如果你对此还不了解,CRUD 用于将数据处理到数据库中。

CRUD 代表创建(Create)、读取(Read)、更新(Update)和删除(Delete),这对于使用关系数据库实现健壮应用至关重要。然而,如果应用程序过于复杂,其背后的系统就不再是简单的 CRUD。

CRUD 操作流程图,展示创建、读取、更新、删除的交互逻辑

CRUD(创建、读取、更新、删除)概念与发现漏洞相关,因为它提供了一种有结构的方式来与应用程序中的数据进行交互。通过了解如何创建、读取、更新和删除数据,您可以识别出应用程序行为中的潜在漏洞或不一致之处。

让我们更仔细地看看我如何应用 CRUD 基础知识来绘制一个菜单/功能的映射,特别是“报告”菜单。以下是它包括的内容:

  • 创建报告:识别创建新报告的功能。
  • 编辑报告:查看如何修改现有报告。
  • 关闭报告:调查关闭或完成报告的流程。
  • 创建评论:理解用户如何向报告添加评论。
  • 编辑评论:评估修改现有评论的能力。
  • 创建摘要:分析创建摘要的方式。

HackerOne 报告管理界面截图,标注了多个功能区域

我是否一贯地做到了呢?我是否应该在一个菜单上测试各种操作中的漏洞?是的,这就是几天前我经常在 HackerOne 上四处潜伏(侦察)的原因,每天都专注于一个菜单。我想找到 IDOR(不安全的直接对象引用)!以下是我对可能发生的 IDOR 的假设(这些只是假设!):

  • IDOR 编辑受害者报告
  • IDOR 关闭受害者的报告
  • IDO 创建对受害者报告的评论
  • IDOR 删除评论
  • 直到 IDOR 编辑受害者报告摘要。

现在你刚刚看到了我为 IDOR 攻击创建的攻击场景是什么样的(关键:在受害者不知情的情况下执行相同的操作,对吧?)。

在涉及 VAPT(漏洞评估与渗透测试)时,这个阶段属于“信息分析和规划”。

在信息分析和规划阶段,测试人员分析扫描期间识别出的风险,以确定一旦受害者被利用,风险将发生的原因和后果。

渗透(利用)阶段则专注于外部真实风险。然而,在漏洞挖掘的背景下,我分析了报告的特性,并制定了直接攻击的计划(如果上下文有些远离,我很抱歉)。

VAPT(漏洞评估与渗透测试)循环流程图

攻击与渗透,在这个阶段,我开始直接在目标上进行预先准备的测试场景,例如从“IDOR 编辑报告”到“IDOR 编辑评论同时包含文件”,并尝试绕过防御措施!然而,结果并不如预期(我以为它足够安全!),因为我总是收到 "was_successful": false 的响应。

operationName": "UpdateReportVulnerabilityInformation",
"variables":{
 "report_id":2441996,
 "attachment_id":{
  "3158239": "3158239",
  "3158242": "3158242"
 },
 "product_area":"reports",
 "product_feature":"inbox"
},
"query":"mutation UpdateReportVulnerabilityInformation($report_id: ID!, $vulnerability_information: SecurityUpdateReportVulnerabilityInput!){
 updateReportVulnerabilityInformation(report_id: $report_id, vulnerability_information: $vulnerability_information, attachment_id: $attachment_id){
  was_successful
 }
}"

时间已经很晚了,眼睛也有些疲惫,明天再来吧!

🛌🏻💤 第二天,周末到了,我度过了一个更长的夜晚来完成所有的场景,但是我仍然没有找到漏洞,直到最后一个场景“编辑摘要”,我没想到我能够使用其他账户的文件附加到攻击者的摘要报告上,无论是在草稿还是已提交的报告上都是如此。

模拟攻击者窃取包含POC附件的邮件截图

我立即写了一份完整的报告,并发送给了 HackerOne 的漏洞赏金计划!

HackerOne漏洞提交确认邮件截图

之后会发生什么?我一边祈祷,一边劝告自己“这是一个有效的报告!” 但是,我还是不太相信,因为那里的活动非常频繁,即使是顶级感谢的账户也可能对同一个账户多次报告漏洞,你确定我的发现没有被他们报告过吗?你确定没有重复的报告吗?

是的,3天过去了,我问了一下“有更新吗?”考虑到承诺的时间是3天。第四天,我的报告收到了工作人员的评论,我仍然不确定!通常,如果是重复的报告,会立即关闭,幸运的是,我的报告是有效的!

HackerOne分析师确认漏洞有效的评论截图

第二天,他们给出了一份惊人的赏金!

HackerOne漏洞报告获得赏金和评论的界面截图

摘要功能是从什么时候开始存在的?我感到非常幸运能在那里找到它。原谅我的啰嗦,这只是一个故事,技术细节在HackerOne报告中。下次再见!

author:  KreSec

Source: https://kresec.medium.com/hackerone-got-hacked-how-can-i-steal-your-poc-01a9132c5aeb

漏洞点评

IDOR的本质是逻辑漏洞,跟框架无关,如果开发人员没有对全部功能非常理解,那么很可能在某一个小地方出现问题,导致能够引用到其他地方的资源,造成IDOR(不安全的对象引用),通过这个实际的漏洞案例,相信能增强各位小伙伴挖掘到IDOR漏洞的信心。

想与更多安全爱好者交流技术,不妨来 云栈社区 的技术论坛看看,这里有丰富的安全攻防资源和讨论。




上一篇:IDOR漏洞检测指南:关键端点与利用资源详解
下一篇:数据结构服务器理念:Redis如何从缓存演变为实时互联网的基石
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-18 09:29 , Processed in 0.485517 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表