5.1 订单 ID 篡改测试
5.1.1 测试原理和方法
在有电子交易业务的网站中,用户登录后可以下订单购买相应产品,购买成功后,用
户可以查看订单的详情。当开发人员没有考虑登录后用户间权限隔离的问题时,就会导致
平行权限绕过漏洞。攻击者只需注册一个普通账户,就可以通过篡改、遍历订单 id,获得
其他用户订单详情,其中多数会包括用户的姓名、身份证、地址、电话号码等敏感隐私信
息。黑色产业链中的攻击者通常会利用此漏洞得到这些隐私信息。
5.1.2 测试过程
攻击者注册一个普通账户,然后篡改、遍历订单 ID,获得其他用户订单详情。测试
流程如图 5-1 所示。
假设某保险网站存在平行权限绕过漏洞。
登录网站后,访问如下漏洞 url,修改参数 policyNo 的值,可以遍历获得他人保单内
容,其中包含很多敏感隐私信息。
http://xxxxx.com/SL_LES/policyDetailInfo.do?policyNo=P000000018446847
图 5-1 订单 ID 篡改测试流程图
步骤一:登录“李先生”账号(测试),查看本人保单,如图 5-2 所示。
图 5-2 查看保单
步骤二:抓包修改保单号,即可越权查看他人保单内容,如图 5-3、图 5-4、图 5-5 所
示。
图 5-3 抓包修改保单号
图 5-4 他人保单
图 5-5 他人保单
在返回的数据包中,包含全部在界面中被隐藏的身份证号等敏感信息,如图 5-6 所
示。
图 5-6 查看隐藏的敏感信息
可能涉及 1800 多万的保单信息泄露,如图 5-7 所示。
图 5-7 遍历保单号
5.1.3 修复建议
后台查看订单时要通过 Session 机制判断用户身份,做好平行权限控制,服务端需要
校验相应订单是否和登录者的身份一致,如发现不一致则拒绝请求,防止平行权限绕过漏
洞泄露用户敏感个人隐私信息。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论