GitLab是一款Ruby开发的Git项目管理平台。在11.9以后的GitLab中,因为使用了图片处理工具ExifTool而受到漏洞CVE-2021-22204的影响,攻击者可以通过一个未授权的接口上传一张恶意构造的图片,进而在GitLab服务器上执行任意命令。
环境启动后,访问http://your-ip:8080
即可查看到GitLab的登录页面。
漏洞复现
GitLab的/uploads/user接口可以上传图片且无需认证,利用poc.py脚本来测试这个漏洞:
python poc.py http://your-ip:8080 "touch /tmp/success"
进入容器内,可见touch /tmp/success
已成功执行: