-
背景
-
复现步骤
gitlab漏洞-Oauth Web应用漏洞
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
背景
peet86于2019年发现了这个漏洞: 通过Oauth2 Web应用程序流的认证为未(电子邮件)验证的用户授予授权代码。Gitlab不关心用户的验证状态,授权Oauth请求时不检查用户的主标识符(电子邮件)的真实性。
-
你可以在注册Gitlab.com时输入一个不存在的电子邮件地址。 -
此时,用户已经在gitlab.com上登录了一个Gitlab账户。不过,gitlab用户还没有通过(电子邮件)验证。 -
当用户从web应用程序请求Oauth授权时,Gitlab就会授权并声明该用户是真实的。(漏洞) -
在重定向Web应用程序之后,用户会在没有任何警告的情况下收到授权代码。(漏洞)
复现步骤
1.一个匿名窗口中(没有活动的gitlab会话),从以前注册的Oauth应用程序中启动Oauth Web应用程序流。
2.用一个不存在的/假的邮箱https://gitlab.com/users/sign_in
注册一个新的Gitlab账户
3.Gitlab对Oauth授权请求进行授权,并返回授权代码。
原文始发于微信公众号(迪哥讲事):gitlab漏洞-Oauth Web应用漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论