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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2018-18925 — CVE-2018-18925 的漏洞利用程序:Gogs 中通过会话处理中的目录遍历实现远程代码执行,可绕过会话并获取管理员访问权限,进而通过 git hooks 实现 RCE。 | Kitploit
工具/GitHubGitHub/j4k0m/cve-2018-18925
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试远程访问工具Payload 开发
GitHubj4k0m/cve-2018-18925

CVE-2018-18925

CVE-2018-18925 的漏洞利用程序:Gogs 中通过会话处理中的目录遍历实现远程代码执行,可绕过会话并获取管理员访问权限,进而通过 git hooks 实现 RCE。

查看仓库
7234年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2018-18925

利用 CVE-2018-18925 对 Git 自托管工具 Gogs 进行远程代码执行。

Gogs 基于 Macaron 框架。其用于管理会话的系统与 PHP 非常相似。Cookie 中的会话标识符映射到文件系统上的一个文件。当 Web 服务器收到带有会话标识符(作为 Cookie)的请求时,它会在文件系统上查找该文件。

该漏洞是在检索文件系统上用于会话的文件时存在简单的目录遍历。例如,您可以将 i_like_gogits Cookie 设置为 ../../../../../../etc/passwd,从服务器获取错误信息。

image

利用方法:

为了利用会话绕过,我们需要一种方法来上传一个特制的文件,然后我们将此文件用作我们的会话 ID。我们可以使用 https://github.com/RyouYoo/CVE-2018-18925/blob/main/main.go 创建我们自己的特制会话 ID 文件。

用法:

root@kitploit:~
go run main.go

上传恶意文件并登录为管理员

在本地复制仓库时,Gogs 会将文件放入 /data/gogs/data/tmp/local-repo/[REPO_ID]/[FILENAME](仅当您使用“上传文件”功能时才会创建此仓库)。

image

其中 [FILENAME] 是您上传文件的名称,[REPO_ID] 是仓库标识符,可以通过 Fork 链接找到:

image

其中 5 是仓库 ID。

默认情况下,会话存储在 /data/gogs/data/sessions/ 中。因此,您可以将会话 ID 使用以下相对路径:../tmp/local-repo/[REPO_ID]/[FILENAME]。在您的 i_like_gogits Cookie 中使用此路径,您应该会以 administrator 身份登录。

133289399-47f6692b-7cfa-443d-89d3-caa5b9828250

远程代码执行:

为了获得 RCE,您可以使用给定仓库中的 Git 钩子功能来运行 shell 脚本。

image

在 pre-receive 中注入您的代码:

image

然后发起一个推送请求(通过 git 或使用创建文件功能)来执行该钩子。

下载工具