文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
10.5 业务上限测试
10.5.1 测试原理和方法
业务上限测试主要是针对一些电商类应用程序在进行业务办理流程中,服务端没有对
用户提交的查询范围、订单数量、金额等数据进行严格校验而引发的一些业务逻辑漏洞。
通常情况下,在业务流程中通过向服务端提交高于或低于预期的数据以校验服务端是否对
所提交的数据做预期强校验。存在此类脆弱性的应用程序,通常表现为查询到超出预期的
信息、订购或兑换超出预期范围的商品等。
10.5.2 测试过程
该项测试主要判断应用程序是否对业务预期范围外的业务请求做出正确回应,如图
10-26 所示。
图 10-26 测试流程图
步骤一:在业务查询-受理记录查询中,应用程序只允许登录用户查询 6 个月内的受理
记录,但是通过抓包分析出查询请求中存在明文字段 month,如图 10-27 所示。
图 10-27 实际业务查询范围
步骤二:将 month 设置的查询范围调高到 6 个月以上并提交,应用程序返回了超过 6
个月的受理记录,表明服务器端并没有限制用户的查询时间,如图 10-28 所示。
图 10-28 修改查询范围
步骤三:成功查询到大于 6 个月的办理记录,表明该功能不符合业务要求,如图 10-29 所示。
图 10-29 超出限制范围的查询结果
10.5.3 修复建议
在服务器端应该对订单 Token 对应的订购信息内容、用户身份、用户可用积分等进
行强校验。服务端应考虑交易风险控制,对产生异常情况的交易行为(如用户积分数额为
负值、兑换库存数量为 0 的商品等)应当直接予以限制、阻断,而非继续完成整个交易流
程。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论