gitlab访问令牌使用_绕过电子邮箱域验证——非法绑定Gitlab邮箱从而访问其内部服务...

本文揭示了Gitlab SCIM功能的一个潜在安全问题,允许创建与未经验证的内部电子邮件地址关联的账户,从而可能绕过客户端的邮箱验证,非法访问依赖Gitlab认证的内部服务。通过详细复现步骤,展示了如何利用这个漏洞来创建令牌并进行恶意操作,对Gitlab的安全性提出警告。
摘要由CSDN通过智能技术生成

我发现gitlab中最新的SCIM(跨域身份管理)功能可让gitlab中的任何组的所有者创建一个和已经经过验证的电子邮件相绑定的帐户。也就是说,我可以创建一个和电子邮件地址ngalog@gitlab.com相绑定的帐户,在gitlab.com看来,ngalog@gitlab.com是已经经过验证的内部帐户,可访问内部服务。

0a9e12c24f41dab01e7719b0fad14e65.png

这将给利用Gitlab作为身份验证的客户端带来问题,因为和ngalog@gitlab.com相绑定,当客户端检查用户的电子邮件域是否匹配@gitlab.com时,就能成功绕过,进而非法访问一些内部服务。

我曾经有一个gitlab相关的内部服务/站点列表,它们都需要使用和gitlab.com有关的邮箱登录,虽然目前我暂时找不到了,但我相信gitlab的安全团队一定知道都有哪些服务。任意未知第三方对这些服务的访问将给gitlab的基础网络设施带来巨大的安全威胁。

复现步骤

  • 在gitlab.com中,将你的群组升级为黄金。
  • 访问https://gitlab.com/groups/GROUP_PATH/-/saml,并按照文档设置SAML SSO(单点登录)。
  • 同一页面,创建SCIM令牌。
  • 使用创建的SCIM令牌发出如下请求。

最终请求如下:

POST /api/scim/v2/groups/YOUR_GROUP_NAME/Users HTTP/1.1Host: gitlab.comUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:66.0) Gecko/20100101 Firefox/66.0Accept: text/html,application/xhtml+xm l,application/xm l;q=0.9,*/*;q=0.8Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateContent-Type: application/scim+jsonAuthorization: Bearer YOUR_SCIM_TOKENContent-Length: 291{"externalId":"REPLACE_ME
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值