10.2 商品订购数量篡改测试
10.2.1 测试原理和方法
商品数量篡改测试是通过在业务流程中抓包修改订购商品数量等字段,如将请求中的
商品数量修改成任意非预期数额、负数等后进行提交,查看业务系统能否以修改后的数量
完成业务流程。
10.2.2 测试过程
该项测试主要针对商品订购的过程中对异常交易数据处理缺乏风控机制而导致的相关
业务逻辑漏洞,例如针对订购中的数量、价格等缺乏判断而产生意外的结果,往往被攻击
者所利用,如图 10-8 所示。
测试过程以某网上营业厅积分商城为例。
图 10-8 测试流程图
步骤一:将商品放入购物车,对于实物礼品需要放在购物车中进行订购。放入购物车
后,单击进入购物车,如图 10-9 所示。
图 10-9 将要购买的商品添加进购物车
步骤二:在购物车中进行礼品兑换,确认商品订单准备进行数据包信息篡改,如图
10-10 所示。
图 10-10 确认商品订单
抓包将商品的数量参数修改成负数并保存,如图 10-11 和图 10-12 所示。
图 10-11 篡改该订购请求中的商品数量
可以看到购物车中实际支付积分已经变为负积分,如图 10-13 所示。
步骤三:添加兑换人的配送信息,确认订单信息,完成积分兑换业务流程,如图 10-
14 所示。
图 10-12 保存篡改后的订购信息
图 10-13 实际篡改后的订购信息
获取验证码并且验证通过后,单击“下一步”按钮,进入订单确认页面,如图 10-15 所
示。
图 10-14 确认订单信息
图 10-15 支付订单
步骤四:提交订单订购请求,此页面列出订单的清单,包括收货人信息、兑换礼品列
表和消费积分。单击“提交订单”按钮,完成礼品兑换,显示兑换结果,如图 10-16 所示。
图 10-16 实际生成的订单详情
步骤五:兑换结果查看,由于积分为负值提交给后台,视为无效订单,所以未能成功
利用。服务端对这些异常订单数据进行比对,未能支付成功,如图 10-17 所示。
图 10-17 服务器对异常订单的响应
10.2.3 修复建议
服务端应当考虑交易风险控制,对产生异常情况的交易行为(如用户积分数额为负
值、兑换库存数量为 0 的商品等)应当直接予以限制、阻断,而非继续完成整个交易流
程。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论