前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过邀请消息劫持Github组织账号分析

通过邀请消息劫持Github组织账号分析

作者头像
FB客服
发布2021-03-09 15:15:44
4900
发布2021-03-09 15:15:44
举报
文章被收录于专栏:FreeBuf

由于Github组织账号的邀请消息无需任何确认机制,在接收邀请消息前无需任何关于身份的邮件确认,因此,攻击者在一定条件下,可以利用该身份绕过问题,劫持Github组织账号(Github Organization)。

Github的邀请消息机制(Invitation)

用户可以通过github.com网站,用个人认证信息创建一个Github组织账号(Github Organization),并通过邀请他人加入形成团队。在此处,我花了很长时间进行一些权限方面的安全测试。

因此当时,我通过github.com创建了一个Github组织账号(Github Organization)进行了测试,我注意到,只有Github组织账号的管理员(Owner )才有权限对他人发出加入邀请,被邀请人可以是github用户或非github用户。

如果被邀请人是非github用户,则必须向被邀请人邮箱发送邀请;若被邀请人是github用户,则我们可以选择向github用户的用户名直接发出邀请。如下我用自己邮箱b4936004lz@safemail.icu接收邀请:

在发出邀请的同时,作为Github组织账号的管理员,可直接向被邀请人赋予一定权限,有“Member”(普通成员)和“Owner”(管理员)两种用户权限选择,这里,我向被邀请人赋予“Owner”(管理员)权限,如下所示:

在向上述非github用户的邮箱b4936004lz@safemail.icu发出具备“Owner”(管理员)权限的邀请消息后,常规做法是,被邀请人应该通过邮件确认->github账户创建->接收邀请来实现邀请接受(basic email invitation > account creation + accepting invitation),但我没有这样,我直接用该邮箱在github.com上注册了一个github用户。进入该github用户中,我打开了之前向我发送邀请的Github组织页面github.com/org_name,此时,我的邀请信息直接显示在了其主页上,如下:

乍一看,这好像没有什么,因为github的消息显示就是如此的。但是,这里我奇怪的是,在创建github账户的时候我根本没有进行过邮件确认,要是我是假冒用户就糟糕了,也即该邀请消息并不应该直接就显示在这里的客户端页面上,至少怎么也得加上个token方式的身份认证机制吧。通过这里的邀请信息,我直接就绕过了邮件确认等身份认证机制,成为了Github组织账号的管理员。

漏洞利用场景

该漏洞更多要阐述的是漏洞利用场景。

1、假设一个Github组织账号管理员通过邮件方式向某被邀请人发出邀请信息,并向其赋予“Owner”(管理员)权限,也就说明该被邀请人是非github用户,他在接收到邀请的同时应该会创建一个github账户; 2、基于Github账号的注册机制,可把邮箱当用户名进行注册,因此攻击者可以用被邀请人的邮箱进行假冒github账户注册; 3、由于上述邀请机制缺乏邮件确认步骤,并且直接显示在了Github组织账号主页,因此攻击者可以用其假冒github账户登录查看; 4、攻击者利用上述步骤,假冒被邀请人实现邀请接收并管理Github组织账号。

漏洞上报和处理进程

2017.11.8 漏洞上报 2017.11.16 Github奖励了$5000

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Github的邀请消息机制(Invitation)
  • 漏洞利用场景
  • 漏洞上报和处理进程
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档