一个用 Golang 编写的极简 CVE-2021-22205 Gitlab RCE POC,影响 Gitlab CE/EE < 13.10.3、Gitlab CE/EE < 13.9.6 和 Gitlab CE/EE < 13.8.8。
我一直想学 Golang。为了熟悉这门语言,我决定用 Golang 为 CVE-2021-22205 编写一个 POC。请忽略那些我猜想写得很糟糕的代码。
用法: go run CVE-2021-22205.go -t http://127.0.0.1:8080 -c "echo pizza > /tmp/pizza.txt"
其中 t 标志指定目标 Gitlab 实例,c 标志是你要运行的命令。
该脚本设置为使用 http://localhost:9090 作为代理。如果你不想使用代理,则需要将其删除。
易受攻击的 Docker 环境可在此处找到: https://github.com/vulhub/vulhub/tree/master/gitlab/CVE-2021-22205
CVE Finder 分析文章: https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html