替换一个anonymous路由,直接拿下全站购物数据

admin 2026-05-12 05:48:04 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍电商系统中购物车API接口的权限绕过漏洞。测试发现将路径中的current替换为anonymous可绕过鉴权,直接访问任意用户购物车数据(含订单信息、收货地址等敏感内容)。文章详细描述了漏洞发现过程:正常访问/Abc/cart/current/1234需鉴权,但/anonymous/1938路径未校验权限即返回200OK与完整数据。建议开发者在所有路由实施统一权限验证。 综合评分: 82 文章分类: WEB安全,漏洞分析,实战经验,应用安全,数据安全


cover_image

替换一个anonymous路由,直接拿下全站购物数据

原创

Pwn1 Pwn1

漏洞集萃

2026年5月11日 11:02 山东

在小说阅读器读本章

去阅读

jiance

免责声明 本公众号所发布的文章内容仅供学习与交流使用,禁止用于任何非法用途。

在测试一个私有漏洞赏金计划时,我遇到了一个

大佬们好啊 , 今天介绍一个之前在电商业务场景中遇到过的漏洞,具体场景是“购物车”或“订单结算中心”的后台 API 数据交互接口处。

原本功能流程

我们先来看下在正常的逻辑下功能如何运行的:

当用户查看当前购物车内容时,前端会向后端发送一个包含目标购物车 ID 的 GET 请求,端点结构类似 /Abc/cart/current/1234

服务端接收到请求后,如果校验通过,那么服务端返回 HTTP 200 OK 状态码,并在响应体中吐出这辆购物车绑定的全部数据,包含但不限于订单列表以及收货人的姓名、电话、地址等隐私信息。

发现过程

一开始在抓包分析正常访问购物车的网络流量时,可以捕获到类似于 /Abc/cart/current/1234 的请求结构。

那么下一步操作,便是尝试直接篡改 URL 末尾的 ID 值。将自己的购物车 ID 1234 替换成目标测试 ID,例如 1938,试图直接访问 /Abc/cart/current/1938/

一般大一点的平台都会多少有点鉴权,然后就直接抛出了 HTTP 401 Unauthorized 状态码。这说明系统在后端确实配置了权限归属校验,单纯替换资源 ID 是行不通的。

然后,深入分析 URL 的结构可以发现,除了末尾的 ID 之外,路径中还有一个非常显眼的单词 current

我们知道在 RESTful 架构风格中,这类词汇往往被用来区分不同的业务场景、API 版本或用户状态。顺着这个思路,开始针对 current 这个目录名进行模糊测试或去替换一些常见业务逻辑的词汇。

考虑到电商系统普遍都支持“游客身份未登录加购”的功能,尝试将 current 替换为 anonymous,从而构造出一个全新的请求路径 /Abc/cart/anonymous/1938 并将其发送出去。

请求发出后,服务端不仅没有拦截,反而直接返回了 HTTP 200 OK,并在响应包里以明文形式倾泻出了 ID 为 1938 对应的全部敏感数据。

很显然目标虽然在current路由下做了鉴权 ,但是关于anonymous路由并没有做严格的鉴权 ;

觉得本文内容对您有启发或帮助? 点个关注➕,获取更多深度分析与前沿资讯!

👉 往期精选

一种利用 HTTP 重定向循环的新型 SSRF 技术

预接管账号:结合 OTP 校验分离与空格绕过注册内部管理员邮箱

从隐藏接口的 JWT 绕过到 AWS S3 任意文件覆盖

发现 Tasks 存在提示注入漏洞, Google 奖励了我 15,000美元。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:漏洞集萃 Pwn1 Pwn1《替换一个anonymous路由,直接拿下全站购物数据》

评论:0   参与:  0