小程序越权,用户隐私可被遍历获取

admin 2026-09-10 05:06:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文完整复现小程序越权漏洞,核心问题为前端布尔参数控制业务功能开关,后端缺失数据归属校验,导致攻击者篡改响应即可解锁隐藏功能,遍历地址id可批量获取其他用户姓名、手机号、家庭住址等敏感信息。建议后端增加接口权限校验、敏感数据脱敏、限制ID访问频率,并强调一切权限判断必须放在后端实现。 综合评分: 88 文章分类: 渗透测试,漏洞分析,WEB安全,安全意识,实战经验


小程序越权,用户隐私可被遍历获取

三垣网安

2026年9月7日 10:36 湖南

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

前言

在 Web 与小程序安全测试中,前端页面隐藏功能不等于后端做了权限校验是高频踩坑点。很多业务依靠前端布尔参数控制按钮、模块的显示与隐藏,一旦攻击者通过代理工具篡改前端返回参数,就可以解锁本不可见的业务功能,进一步触发越权访问漏洞。本文将对会员小程序的越权漏洞进行完整复现与分析,还原漏洞产生链路、风险危害,并给出对应的修复方案,供开发、安全测试人员参考学习。

一、漏洞 / 测试基础信息

  • 漏洞名称:越权
  • 漏洞评级:中危

二、测试思路梳理

  1. 前端功能探测:小程序业务默认关闭收货地址管理模块,通过抓包发现响应包存在manageAddress布尔字段,控制地址模块是否渲染。
  2. 参数篡改绕过前端限制:使用 BurpSuite 匹配替换规则,把manageAddress:false修改为manageAddress:true,强制前端渲染收货地址编辑入口。
  3. 接口调用测试:进入地址编辑页面,抓获取单条地址信息的接口,发现接口仅依赖id参数查询地址数据,未校验当前登录用户与地址所属用户的归属关系。
  4. 越权验证:遍历替换请求中的 id 值,接口直接返回其他用户完整的姓名、手机号、省市区、详细家庭住址等敏感个人信息,实现垂直越权数据读取。

三、实操 / 测试流程

1、进入小程序‑使用手机号登录。

2、在 burp 设置替换相应包规则,”manageAddress”:false, 替换成 “manageAddress”:true,。

3、该小程序默认都是会员账号开通,默认不需要收货地址,修改为 true 后,订单详情前端页面会显示添加收货地址。

 4、点击卡券‑购买会员‑‑然后点击左上角回退‑购买会员‑进入订单详情页面,出现收获地址选项。

5、自己先新增一个地址,然后点击编辑。

6、该请求遍历 id 可获取其他用户的姓名、手机号、家庭住址等信息。

id=4189

id=1235

修改 URL 中id参数值,更换为其他地址 id,接口直接返回无关用户完整地址隐私数据。

四、漏洞总结

4.1 核心问题

  1. 前端控制业务权限:业务使用manageAddress前端布尔值控制地址模块显隐,后端没有做功能开关校验,攻击者篡改响应即可解锁功能。
  2. 接口缺失越权校验:selectOneAddress地址查询接口,仅根据传入的id查询数据库记录,没有校验该地址记录是否属于当前登录会话用户。
  3. 敏感信息直接返回:接口直接明文返回手机号、详细家庭住址等个人敏感信息,未做脱敏处理。

4.2 漏洞危害

  1. 用户隐私泄露:攻击者遍历 id,批量获取大量用户姓名、手机号、家庭住址,造成大量公民个人信息泄露,违反个人信息保护相关规范。
  2. 业务安全风险:泄露的地址信息可被用于诈骗、社工库收集、恶意骚扰等黑产场景。
  3. 企业合规风险:大量用户个人信息无权限泄露,会带来数据安全合规处罚、用户信任流失。

4.3 修复建议

  1. 后端增加接口权限校验:selectOneAddress地址查询接口,拿到地址 id 查询记录后,强制校验该地址的归属用户 ID 必须等于当前登录用户 ID,不属于本用户直接拒绝返回数据。
  2. 禁止仅依靠前端参数控制业务功能:manageAddress这类功能开关,不能只放在前端响应控制页面展示,后端接口层也要增加功能权限判断,没有权限直接拒绝业务调用。
  3. 敏感数据返回脱敏:接口返回手机号、详细地址等敏感字段,默认做脱敏展示,仅本人账号在修改地址页面才返回完整明文。
  4. ID 访问限制:对地址 id 增加访问频率限制,防止批量遍历 id 批量拉取数据。
  5. 安全测试补充:在版本上线前,增加越权测试用例,重点测试查询类接口,校验 “用户 A 不能读取用户 B 的数据”。

4.4 测试心得

  1. 小程序、H5 页面很多业务开关、功能隐藏只做前端控制,抓包修改响应字段,经常可以解锁很多隐藏业务入口。
  2. 查询类接口是越权漏洞高发点,重点关注接口参数是否为业务对象 id,思考:接口是否校验 “这条数据是不是属于当前用户”。
  3. 不要只看页面能否操作,要抓接口看后端实际返回,页面隐藏不等于接口做了拦截。
  4. 遇到地址、订单、用户资产类接口,优先测试横向越权场景。

五、总结

本次漏洞本质是典型横向越权漏洞,根源在于过度信任前端控制逻辑,后端缺失数据归属校验。很多开发人员认为 “页面上看不到这个按钮,用户就无法使用该功能”,但攻击者可以借助代理工具篡改请求 / 响应,绕过前端所有限制直接调用后端接口。

安全金科玉律:所有前端的校验、隐藏、开关都可以被绕过,一切权限判断必须放在后端实现。不管是小程序、H5、APP,任何涉及用户数据查询、修改的接口,都必须校验数据和当前登录用户的归属关系,从根源杜绝越权读取他人隐私数据。

点击关注三垣网安,了解更多网安知识

越权 #渗透测试 #实战案例


免责声明:

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

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

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

本文转载自:三垣网安 《小程序越权,用户隐私可被遍历获取》

OpenClaw2.0尚能饭否 网络安全文章

OpenClaw2.0尚能饭否

文章总结: OpenClaw2.0发布架构级更新,重构浏览器端UI,对话界面成为默认落地页,整合文件、终端等面板,新增浏览器窗口便于爬虫与网页阅读。图片文件分析
评论:0   参与:  0