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

CVE-2026-4624 SourceCodester图书馆管理系统SQL注入漏洞

披露日期: 2026-03-24

漏洞信息

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

相关标签

SQL注入SourceCodesterWeb安全远程执行高危漏洞

漏洞概述

SourceCodester Online Library Management System 1.0版本存在高危SQL注入漏洞。漏洞源于/home.php文件的参数处理组件未能正确处理searchField参数。攻击者无需身份认证或用户交互,即可通过网络远程发送特制恶意数据触发漏洞。成功利用此漏洞可导致数据库信息泄露、数据被篡改或系统可用性受损。鉴于目前该漏洞的利用代码已公开,风险极高,建议尽快修复。

技术细节

该漏洞属于典型的SQL注入漏洞。在SourceCodester Online Library Management System 1.0的实现逻辑中,/home.php文件负责处理图书搜索等前端请求。开发人员在编写代码时,将用户提交的searchField参数直接拼接到了SQL查询语句中,而没有进行任何形式的转义或使用预编译技术。这种不安全的编码方式使得攻击者能够控制SQL查询的语法结构。攻击者利用这一缺陷,可以在searchField参数中注入恶意的SQL片段(如 `' UNION SELECT user(), version() --`)。当服务器端脚本执行该查询时,数据库会解析并执行这些恶意命令。由于攻击可以通过网络发起(AV:N),且不需要用户交互(UI:N)和认证(PR:N),任何能够访问Web服务的人都可以利用此漏洞。这不仅可能导致敏感数据(如管理员密码、用户信息)被非法读取,还可能导致数据被篡改或删除,严重影响系统的机密性、完整性和可用性。

攻击链分析

STEP 1
侦察
攻击者识别出目标服务器运行的是SourceCodester Online Library Management System 1.0版本,并确定了/home.php接口的存在。
STEP 2
漏洞探测
攻击者向/home.php发送包含特殊字符(如单引号)的searchField参数,观察应用响应是否包含数据库错误或异常行为,确认存在SQL注入。
STEP 3
构造Payload
根据探测结果,攻击者构造恶意的SQL语句(如UNION SELECT查询),用于提取数据库结构、管理员密码或敏感数据。
STEP 4
执行攻击
攻击者通过HTTP POST/GET请求将包含恶意SQL代码的参数发送给服务器。由于未经过滤,后端数据库直接执行了该语句。
STEP 5
数据窃取与破坏
数据库返回查询结果,攻击者获取敏感信息;或者利用注入语句执行UPDATE/DELETE命令,破坏数据完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def verify_sqli(url): """ PoC for CVE-2026-4624 SQL Injection Target: /home.php parameter 'searchField' """ target_endpoint = f"{url}/home.php" # Basic SQL Injection payload to test for time-based or error-based response # Using a logical test that should always be true if injectable payload = { "searchField": "test' OR '1'='1" } try: response = requests.post(target_endpoint, data=payload, timeout=10) # Analyze response to detect vulnerability (Logic depends on app behavior) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Check if the response content differs from a normal search to confirm injection.") return True return False except requests.RequestException as e: print(f"[-] Error connecting to target: {e}") return False if __name__ == "__main__": target_ip = "http://127.0.0.1" verify_sqli(target_ip)

影响范围

SourceCodester Online Library Management System 1.0

防御指南

临时缓解措施
如果无法立即升级代码或打补丁,建议在Web应用防火墙(WAF)中部署规则,拦截针对/home.php文件的异常请求,特别是包含单引号、UNION、SELECT等SQL关键字的参数。同时,限制数据库账户的访问权限,避免使用root等高权限用户连接数据库,以减少潜在损失。

参考链接

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