从用户到管理员:通过业务逻辑进行权限提升

72 阅读5分钟

大家好,今天的故事中,我想分享一个业务逻辑漏洞,该漏洞允许我利用受害者的组织进行权限提升。

什么是权限提升?

在理解这个故事之前,你需要知道什么是权限提升。权限提升是指攻击者获得比他们应有的更高的访问权限。它可以是:

  • 垂直权限提升——获得管理员或更高级别的访问权限。
  • 水平权限提升——访问同一级别的其他用户的数据或操作。

在业务逻辑缺陷中,这种情况发生在不当检查允许用户操纵工作流、绕过限制或升级权限时。简而言之,它允许攻击者访问他们本不应该访问的内容,因为攻击者的权限较低。

被忽略的部分...

该应用程序允许用户创建组织并邀请具有不同角色的其他用户,例如管理员或普通成员,我已经报告过,我可以使用任何不属于我的电子邮件邀请其他用户,包括他们自己的私人和内部电子邮件别名,但由于影响较小,他们决定关闭它作为信息,所以我不得不把它变成更大的成果。

您需要了解一些信息,而这些信息也是成功利用漏洞的必要条件。首先,该应用程序允许我使用任何不属于我的电子邮件进行注册,这些电子邮件未从后端进行验证,但我几乎可以在帐户中使用未经验证的电子邮件进行所有操作。

第二点也是最重要的一点,在仔细观察了用户邀请某人加入其组织时的邀请工作方式后,我意识到可以接受实际发送的邀请,attacker@mail.com就像anotheruser@mail.com接受邀请并在应用程序上注册时一样。

这些类型的功能实际上非常敏感,但我们知道接受任何电子邮件形式的邀请或使用任何电子邮件邀请用户不会产生分类员喜欢的太大影响,但这些对于任何进一步的漏洞可能非常有用。

编写漏洞利用代码

在对该应用程序进行了长时间的调查后,我想找到应用程序中的权限提升错误,因为这可能是非常严重的事情,它可能允许攻击者访问许多受限制的信息和功能,甚至接管整个组织。

当然,由于这个程序受到很多黑客的关注,所以常规的错误也得到了修复,在这样的程序中发现一个错误就像是一个不是每个人都能解决的难题,尤其是当你寻找一个被忽视的错误时,所以我必须找到一些其他人都没有想到过的非常独特的东西。

我认为组织管理员可以同时邀请两个具有不同角色的不同用户,这可能是打开另一扇特权提升漏洞之门的钥匙,即使攻击复杂性如此之高。

因此,我编写了一个非常合理的场景,可以充分利用权限提升漏洞,以下是我的想法:1.作为受害者,即组织管理员,我邀请了 2 个不同的电子邮件,john@mail.com一个具有管理员角色,attacker@mail.com另一个具有成员角色,成员角色是常规角色,没有管理员的太多权限。2.你还记得我说过可以接受任何电子邮件的邀请吗?现在作为攻击者,当我从电子邮件中收到邀请时attacker@mail.com,我会打开邀请链接,并接受邀请john@mail.com。3.作为攻击者,注册后,john@mail.com我现在在受害者的管理员中拥有管理员角色,并且我已成功利用权限提升

您可能意识到,作为攻击者,我们应该拥有具有管理员角色的其他受邀用户的电子邮件,在这种情况下,这会使攻击的复杂性很高,因此严重性不能高于中等……

之后,我重现了我在脑海中编写的相同脚本,一切都与我预期的相同,并且我能够成功利用权限提升漏洞,虽然攻击的复杂性很高,但这主要取决于应用程序的工作方式。

我建议,要找到这样的错误,你需要知道应用程序如何反应和工作,这是找到目标弱点的唯一方法。

其它相关课程图片图片图片图片

图片

rust语言全栈开发视频教程-第一季(2025最新)

图片图片图片

详细目录

mac/ios安全视频

图片

QT开发底层原理与安全逆向视频教程

图片

linux文件系统存储与文件过滤安全开发视频教程(2024最新)

图片

linux高级usb安全开发与源码分析视频教程

图片

linux程序设计与安全开发

图片


  • 图片
  • windows网络安全防火墙与虚拟网卡(更新完成)
  • 图片
  • windows文件过滤(更新完成)
  • 图片
  • USB过滤(更新完成)
  • 图片
  • 游戏安全(更新中)
  • 图片
  • ios逆向
  • 图片
  • windbg
  • 图片
  • 还有很多免费教程(限学员)
  • 图片图片图片
  • 图片
  • windows恶意软件开发与对抗视频教程
  • 图片
  • 图片
  •  
  • 图片

github.com/haidragon

gitee.com/haidragon

公众号:安全狗的自我修养

bilibili:haidragonx