vulhub漏洞复现十九

vulhub漏洞复现十九,第1张

vulhub漏洞复现十九

一、 CVE-2016-9086_GitLab 任意文件读取漏洞

漏洞原理

GitLab是一款Ruby开发的Git项目管理平台。在8.9版本后添加的“导出、导入项目”功能,因为没有处理好压缩包中的软连接,已登录用户可以利用这个功能读取服务器上的任意文件。

环境搭建

192.168.4.10_ubuntu

执行如下命令启动一个GitLab Community Server 8.13.1:

#docker-compose up -d

环境运行后,访问`http://your-ip:8080`即可查看GitLab主页,其ssh端口为10022,默认管理员账号、密码是`root`、`vulhub123456`。

 

> 注意,请使用2G及以上内存的VPS或虚拟机运行该环境,实测1G内存的机器无法正常运行GitLab(运行后502错误)。

漏洞利用

注册并登录用户,新建一个项目,点击`GitLab export`:

 

 

在导入页面,将[test.tar.gz](test.tar.gz)上传,将会读取到`/etc/passwd`文件内容:

二、 CVE-2021-22205_GitLab 远程命令执行漏洞

漏洞原理

GitLab是一款Ruby开发的Git项目管理平台。在11.9以后的GitLab中,因为使用了图片处理工具ExifTool而受到漏洞[CVE-2021-22204](https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html)的影响,攻击者可以通过一个未授权的接口上传一张恶意构造的图片,进而在GitLab服务器上执行任意命令。

环境搭建

靶  机:192.168.4.10_ubuntu

攻击机:192.168.4.29_kali

执行如下命令启动一个GitLab 13.10.1版本服务器:

#docker-compose up -d

环境启动后,访问`http://your-ip:8080`即可查看到GitLab的登录页面。

 

漏洞利用

GitLab的/uploads/user接口可以上传图片且无需认证,利用[poc.py](poc.py)脚本来测试这个漏洞:

```

python poc.py http://your-ip:8080 "touch /tmp/success"

```

 

进入容器内,可见`touch /tmp/success`已成功执行:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5720010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存