免责声明
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。如有侵权烦请后台告知,我们会立即删除并致歉,谢谢!
1
这是我作为漏洞赏金平台上直接向上游提交重要漏洞的经历故事。
“Alhamdulillahi rabbil alamin”(感谢真主,全世界的主宰)无疑是我要说的第一句话!
这是我作为漏洞赏金平台上直接向上游提交重要漏洞的经历故事。
我是如何找到那些重要漏洞的呢?让我们首先谈谈基础知识。
你有 web/app 编程的先验经验吗?
当然你对 CRUD 是熟悉的!但如果你对此还不了解,CRUD 用于将数据处理到数据库中 [1]。
CRUD 代表创建(Create)、读取(Read)、更新(Update)和删除(Delete),这对于使用关系数据库实现健壮应用至关重要 [2]。然而,如果应用程序过于复杂,其背后的系统就不再是简单的 CRUD。
CRUD(创建、读取、更新、删除)概念与发现漏洞相关,因为它提供了一种有结构的方式来与应用程序中的数据进行交互。通过了解如何创建、读取、更新和删除数据,您可以识别出应用程序行为中的潜在漏洞或不一致之处。
让我们更仔细地看看我如何应用 CRUD 基础知识来绘制一个菜单/功能的映射,特别是“报告”菜单。以下是它包括的内容:
创建报告:识别创建新报告的功能。
编辑报告:查看如何修改现有报告。
关闭报告:调查关闭或完成报告的流程。
创建评论:理解用户如何向报告添加评论。
编辑评论:评估修改现有评论的能力。
创建摘要:分析创建摘要的方式。
我是否一贯地做到了呢?我是否应该在一个菜单上测试各种操作中的漏洞?是的,这就是几天前我经常在 HackerOne 上四处潜伏(侦察)的原因,每天都专注于一个菜单。我想找到 IDOR!以下是我对可能发生的 IDOR 的假设(这些只是假设!):
IDOR 编辑受害者报告
IDOR 关闭受害者的报告
IDO 创建对受害者报告的评论
IDOR 删除评论
直到 IDOR 编辑受害者报告摘要。
现在你刚刚看到了我为 IDOR 攻击创建的攻击场景是什么样的(关键:在受害者不知情的情况下执行相同的操作,对吧?)。
在涉及 VAPT(漏洞评估与渗透测试)时,这个阶段属于“信息分析和规划”。
在信息分析和规划阶段,测试人员分析扫描期间识别出的风险,以确定一旦受害者被利用,风险将发生的原因和后果。
渗透(利用)阶段则专注于外部真实风险 [3]。然而,在漏洞发现的背景下,我分析了报告的特性,并制定了直接攻击的计划(如果上下文有些远离,我很抱歉)。
攻击与渗透,在这个阶段,我开始直接在目标上进行预先准备的测试场景,例如从“IDOR 编辑报告”到“IDOR 编辑评论同时包含文件”,并尝试绕过防御措施!然而,结果并不如预期(我以为它足够安全!),因为我总是收到“was_successful”: false 的响应。
时间已经很晚了,眼睛也有些疲惫,明天再来吧!
🛌🏻💤 第二天,周末到了,我度过了一个更长的夜晚来完成所有的场景,但是我仍然没有找到漏洞,直到最后一个场景“编辑摘要”,我没想到我能够使用其他账户的文件附加到攻击者的摘要报告上,无论是在草稿还是已提交的报告上都是如此。
我立即写了一份完整的报告,并发送给了 HackerOne 的漏洞赏金计划!
之后会发生什么?我一边祈祷,一边劝告自己“这是一个有效的报告!” 但是,我还是不太相信,因为那里的活动非常频繁,即使是顶级感谢的账户也可能对同一个账户多次报告漏洞,你确定我的发现没有被他们报告过吗?你确定没有重复的报告吗?
是的,3天过去了,我问了一下“有更新吗?”考虑到承诺的时间是3天。第四天,我的报告收到了工作人员的评论,我仍然不确定!通常,如果是重复的报告,会立即关闭,幸运的是,我的报告是有效的!
第二天,他们给出了一份惊人的赏金!
摘要功能是从什么时候开始存在的?我感到非常幸运能在那里找到它。原谅我的啰嗦,这只是一个故事,技术细节在HackerOne报告中。下次再见!
Source: https://kresec.medium.com/hackerone-got-hacked-how-can-i-steal-your-poc-01a9132c5aeb
IDOR的本质是逻辑漏洞,跟框架无关,如果开发人员没有对全部功能非常理解,那么很可能在某一个小地方出现问题,导致能够引用到其他地方的资源,造成IDOR(不安全的对象引用),通过这个实际的漏洞案例,相信能增强各位小伙伴挖掘到IDOR漏洞的信心。
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
前面有同学问我有没优惠券,这里发放100张100元的优惠券,用完今年不再发放
点个在看你最好看
PARENTING TRAINING