GitLab任意用户密码重置漏洞(CVE-2023-7028)复现

GitLab官方报告了严重的CVE-2023-7028漏洞,攻击者可通过恶意请求利用忘记密码功能重置他人密码。文章详细描述了漏洞利用条件、复现过程,并提醒用户升级到最新版本或启用二次验证进行防护。
摘要由CSDN通过智能技术生成

漏洞描述

2024年1月11日,Gitlab官方披露CVE-2023-7028 GitLab 任意用户密码重置漏洞,官方评级严重。攻击者可利用忘记密码功能,构造恶意请求获取密码重置链接从而重置密码。官方已发布安全更新,建议升级至最新版本,若无法升级,建议利用安全组功能设置Gitlab仅对可信地址开放。

获取gitlab版本信息

访问/assets/webpack/manifest.json

访问https://github.com/righel/gitlab-version-nse/blob/main/gitlab_hashes.json
比较hash值

漏洞利用条件

1、需获取系统已有用户注册邮箱地址 2、满足影响版本

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

复现过程

这里被找回邮箱为个人注册邮箱地址,真实环境中需先获取目标邮箱地址

访问找回密码页面:/users/password/new

填写被找回邮箱地址,然后点击抓包

修改请求包为:user[email][]=目标邮箱地址&user[email][]=攻击者邮箱地址

user%5Bemail%5D%5B%5D=目标邮箱&user%5Bemail%5D%5B%5D=各位大佬们的邮箱
注意,在bp中符号需要自己编码

成功复现,只要看收信人是两个人,就证明漏洞利用成功,点击重置密码,就可以接管别人账户。

补充

在真实环境中,这个条件必须要有别人邮箱(可以用其他历史漏洞来获取),防御办法很多,比如升级版本,比如二次验证,这个就是二次验证的页面,如果出行这个页面,那就没办法了,这个是动态的验证码,目前还没有什么漏洞暴出来可以利用。

参考链接:https://mp.weixin.qq.com/s/gAU7I2b1fXt0YzNvSxILzQ

感谢大佬提供的无需权限就可以看gitlab的方法。

****************

尽量每天都能复现一个最想的漏洞复现,请持续关注

****************

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值