CodeZips Project Management System漏洞CVE-2024-12926
CodeZips Project Management System是PHP项目管理系统,是简单而有效的网络应用程序,用于由教师直接管理课程常规和课程安排。
CodeZips Project Management System使用HTML、CSS、JAVA脚本进行UI设计,并使用MYSQL进行数据库和 PHP 服务器端脚本语言。
一、基本情况
CodeZips Project Management System是一个PHP和MYSQL搭建的项目管理系统,每个教师都是网站管理员,由超管来管理整个网站。
通过该系统,学生可以了解所有类型的学术假期、固定的课程安排、新的课程安排,老师也可以随时修改课程安排并通过邮件告知学生。
通过该系统,教师可以自定义课程、更新自己的上课时间、显示本周上课时间,灵活的在周内安排上课时间,系统直接连接到每个学生。
栋科技漏洞库关注到CodeZips Project Management System受影响版本中存在一个安全漏洞,追踪为CVE-2024-12926,CVSS评分6.3。
二、漏洞分析
CVE-2024-12926是CodeZips Project Management System 1.0版本中发现的安全漏洞,该漏洞现已被归类为是一个严重的SQL注入漏洞。
该漏洞由安全研究人员wangjiawei在“PHP和MYSQL中的CodeZips Project Management System及源代码”的安全审查期间,发现并披露。
漏洞位于CodeZips Project Management System 1.0版本的/pages/forms/advanced.php代码,使用未知输入操作参数名称会导致sql注入。
该漏洞源于对“name”参数的用户输入验证不充分,使得攻击者能够注入恶意的SQL查询,从而可导致未经授权访问、修改和删除数据库。
从参数“name”注入恶意代码并在 SQL 查询中使用,无需适当清理或验证,攻击者可伪造输入值从而操纵 SQL 查询并执行未经授权操作。
攻击者利用漏洞可对数据库越权访问、敏感数据泄露、数据篡改、系统全面控制甚至服务中断,对系统安全和业务连续性造成严重威胁。
目前该漏洞已经被公开并可能被利用,通过搜索引擎搜索inurl:pages/forms/advanced.php,攻击者就可以很轻松的找到易受攻击的目标。
三、漏洞复现
四、影响范围
CodeZips Project Management System v1.0
五、修复建议
1、使用prepared statements and parameter binding: prepared statements可防止SQL注入,因为它们将SQL代码与用户输入数据分开。
使用prepared statements时,用户输入的值将被视为纯数据,不会被解释为 SQL 代码。
输入验证和过滤: 严格验证和过滤用户输入数据,确保其符合预期格式。
定期安全审计: 定期进行代码和系统安全审计,及时发现并修复潜在的安全漏洞。
六、参考链接