文章总结: 本文完整复现小程序越权漏洞,核心问题为前端布尔参数控制业务功能开关,后端缺失数据归属校验,导致攻击者篡改响应即可解锁隐藏功能,遍历地址id可批量获取其他用户姓名、手机号、家庭住址等敏感信息。建议后端增加接口权限校验、敏感数据脱敏、限制ID访问频率,并强调一切权限判断必须放在后端实现。 综合评分: 88 文章分类: 渗透测试,漏洞分析,WEB安全,安全意识,实战经验
小程序越权,用户隐私可被遍历获取
三垣网安
2026年9月7日 10:36 湖南
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
前言
在 Web 与小程序安全测试中,前端页面隐藏功能不等于后端做了权限校验是高频踩坑点。很多业务依靠前端布尔参数控制按钮、模块的显示与隐藏,一旦攻击者通过代理工具篡改前端返回参数,就可以解锁本不可见的业务功能,进一步触发越权访问漏洞。本文将对会员小程序的越权漏洞进行完整复现与分析,还原漏洞产生链路、风险危害,并给出对应的修复方案,供开发、安全测试人员参考学习。
一、漏洞 / 测试基础信息
- 漏洞名称:越权
- 漏洞评级:中危
二、测试思路梳理
- 前端功能探测:小程序业务默认关闭收货地址管理模块,通过抓包发现响应包存在manageAddress布尔字段,控制地址模块是否渲染。
- 参数篡改绕过前端限制:使用 BurpSuite 匹配替换规则,把manageAddress:false修改为manageAddress:true,强制前端渲染收货地址编辑入口。
- 接口调用测试:进入地址编辑页面,抓获取单条地址信息的接口,发现接口仅依赖id参数查询地址数据,未校验当前登录用户与地址所属用户的归属关系。
- 越权验证:遍历替换请求中的 id 值,接口直接返回其他用户完整的姓名、手机号、省市区、详细家庭住址等敏感个人信息,实现垂直越权数据读取。
三、实操 / 测试流程
1、进入小程序‑使用手机号登录。
2、在 burp 设置替换相应包规则,”manageAddress”:false, 替换成 “manageAddress”:true,。
3、该小程序默认都是会员账号开通,默认不需要收货地址,修改为 true 后,订单详情前端页面会显示添加收货地址。
4、点击卡券‑购买会员‑‑然后点击左上角回退‑购买会员‑进入订单详情页面,出现收获地址选项。
5、自己先新增一个地址,然后点击编辑。
6、该请求遍历 id 可获取其他用户的姓名、手机号、家庭住址等信息。
id=4189
id=1235
修改 URL 中id参数值,更换为其他地址 id,接口直接返回无关用户完整地址隐私数据。
四、漏洞总结
4.1 核心问题
- 前端控制业务权限:业务使用manageAddress前端布尔值控制地址模块显隐,后端没有做功能开关校验,攻击者篡改响应即可解锁功能。
- 接口缺失越权校验:selectOneAddress地址查询接口,仅根据传入的id查询数据库记录,没有校验该地址记录是否属于当前登录会话用户。
- 敏感信息直接返回:接口直接明文返回手机号、详细家庭住址等个人敏感信息,未做脱敏处理。
4.2 漏洞危害
- 用户隐私泄露:攻击者遍历 id,批量获取大量用户姓名、手机号、家庭住址,造成大量公民个人信息泄露,违反个人信息保护相关规范。
- 业务安全风险:泄露的地址信息可被用于诈骗、社工库收集、恶意骚扰等黑产场景。
- 企业合规风险:大量用户个人信息无权限泄露,会带来数据安全合规处罚、用户信任流失。
4.3 修复建议
- 后端增加接口权限校验:selectOneAddress地址查询接口,拿到地址 id 查询记录后,强制校验该地址的归属用户 ID 必须等于当前登录用户 ID,不属于本用户直接拒绝返回数据。
- 禁止仅依靠前端参数控制业务功能:manageAddress这类功能开关,不能只放在前端响应控制页面展示,后端接口层也要增加功能权限判断,没有权限直接拒绝业务调用。
- 敏感数据返回脱敏:接口返回手机号、详细地址等敏感字段,默认做脱敏展示,仅本人账号在修改地址页面才返回完整明文。
- ID 访问限制:对地址 id 增加访问频率限制,防止批量遍历 id 批量拉取数据。
- 安全测试补充:在版本上线前,增加越权测试用例,重点测试查询类接口,校验 “用户 A 不能读取用户 B 的数据”。
4.4 测试心得
- 小程序、H5 页面很多业务开关、功能隐藏只做前端控制,抓包修改响应字段,经常可以解锁很多隐藏业务入口。
- 查询类接口是越权漏洞高发点,重点关注接口参数是否为业务对象 id,思考:接口是否校验 “这条数据是不是属于当前用户”。
- 不要只看页面能否操作,要抓接口看后端实际返回,页面隐藏不等于接口做了拦截。
- 遇到地址、订单、用户资产类接口,优先测试横向越权场景。
五、总结
本次漏洞本质是典型横向越权漏洞,根源在于过度信任前端控制逻辑,后端缺失数据归属校验。很多开发人员认为 “页面上看不到这个按钮,用户就无法使用该功能”,但攻击者可以借助代理工具篡改请求 / 响应,绕过前端所有限制直接调用后端接口。
安全金科玉律:所有前端的校验、隐藏、开关都可以被绕过,一切权限判断必须放在后端实现。不管是小程序、H5、APP,任何涉及用户数据查询、修改的接口,都必须校验数据和当前登录用户的归属关系,从根源杜绝越权读取他人隐私数据。
点击关注三垣网安,了解更多网安知识
越权 #渗透测试 #实战案例
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:三垣网安 《小程序越权,用户隐私可被遍历获取》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论