GitLab是一款Ruby开发的Git项目管理平台。在8.9版本后添加的“导出、导入项目”功能,因为没有处理好压缩包中的软连接,已登录用户可以利用这个功能读取服务器上的任意文件。
环境运行后,访问http://your-ip:8080
即可查看GitLab主页,其ssh端口为10022,默认管理员账号、密码是root
、vulhub123456
。
漏洞复现
注册并登录用户,新建一个项目,点击GitLab export
:
在导入页面,将test.tar.gz上传,将会读取到/etc/passwd
文件内容: