CVE-2025-60298CVE-2025-60298是Novel-Plus内容管理系统(CMS)中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞影响Novel-Plus 5.2.4及以下版本,CVSS评分为5.4,属于中等严重等级。Novel-Plus是一个基于Java开发的小说内容管理系统,广泛用于在线小说发布与管理平台。该漏洞位于系统的/author/updateIndexName接口中,攻击者可以通过该接口的indexName参数注入恶意的JavaScript代码。由于该输入未经充分的过滤和转义处理,恶意脚本会被存储到数据库中,当其他用户(尤其是管理员)查看受影响的书籍章节时,存储的恶意脚本将在受害者浏览器中执行,从而实现会话劫持、cookie窃取、钓鱼攻击或权限提升等恶意行为。此漏洞的成功利用需要攻击者具备低权限认证(PR:L),并且需要用户交互(UI:R)来触发恶意脚本的执行,属于典型的存储型XSS攻击模式。漏洞的存在不仅威胁普通用户的数据安全,还可能对系统管理员账户造成严重危害,进而影响整个平台的完整性和机密性。
Novel-Plus的/author/updateIndexName接口用于更新书籍章节的索引名称(indexName),该接口接收用户提交的indexName参数并将其存储到数据库中。然而,在处理该参数时,系统未对用户输入进行充分的HTML实体编码或过滤,导致攻击者可以注入任意JavaScript代码。
漏洞利用的核心原理如下:
1. 攻击者首先通过合法途径获取Novel-Plus系统的低权限作者账号(PR:L)。
2. 攻击者构造包含恶意JavaScript代码的payload,例如:<script>alert(document.cookie)</script>或更复杂的窃取cookie并发送到攻击者服务器的代码。
3. 攻击者通过POST请求向/author/updateIndexName接口提交包含恶意payload的indexName参数。
4. 服务器将恶意代码存储到数据库中,与对应的书籍章节关联。
5. 当其他用户(特别是管理员)访问该章节页面时,服务器从数据库中读取indexName值并直接渲染到HTML页面中,浏览器解析执行其中的恶意脚本。
6. 恶意脚本在受害者浏览器上下文中执行,可以窃取会话cookie、进行钓鱼攻击、劫持用户会话或执行其他恶意操作。
由于该漏洞是存储型XSS,恶意代码会持久化存储在数据库中,影响范围广且持续时间长。CVSS向量中的S:C(Scope Changed)表明漏洞利用可能影响超出其原始权限范围的组件,增加了漏洞的危害程度。