返回介绍

10.3 前端 JS 限制绕过测试

发布于 2024-10-11 00:03:33 字数 1146 浏览 0 评论 0 收藏 0

10.3.1 测试原理和方法

很多商品在限制用户购买数量时,服务器仅在页面通过 JS 脚本限制,未在服务器端校

验用户提交的数量,通过抓取客户端发送的请求包修改 JS 端生成处理的交易数据,如将请

求中的商品数量改为大于最大数限制的值,查看能否以非正常业务交易数据完成业务流

程。

10.3.2 测试过程

该项测试主要针对电商平台由于交易限制机制不严谨、不完善而导致的一些业务逻辑

问题。例如,在促销活动中限制商品购买数量,却未对数量进行前、后端严格校验,往往

被攻击者所利用,如图 10-18 所示。

图 10-18 测试流程图

测试过程以 http://www.xxx.com/xxx-100-2856.html 网上商城绕过团购购买数量限制

购买团购价商品为例。

步骤一:购买限购的商品,商品限制购买数量为 2 份,将其加入购物车,如图 10-19

和图 10-20 所示。

图 10-19 商品订购页面

图 10-20 商品订购数量限制

步骤二:通过观察发现客户端在前端浏览器使用 JavaScript 做了购买限制,尝试绕过

限制提交购买请求,可以通过抓包修改数量字段,改为 100 个后成功提交,如图 10-21 所

示。

图 10-21 直接绕过 JS 限制完成订购

10.3.3 修复建议

商品信息,如金额、折扣、数量等原始数据的校验应来自于服务器端,不应该完全相

信客户端传递过来的值。类似的跨平台支付业务,涉及平台之间接口调用,一定要做好对

重要数据,如金额、商品数量等的完整性校验,确保业务重要数据在平台间传输的一致。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文