资讯详情

Business logic vulnerabilities:Flawed enforcement of business rules

📅 2026/10/20 8:34:18 | 华诺云谱 👁 阅读
Business logic vulnerabilities:Flawed enforcement of business rules
声明本文为博主原创文章文章中所涉及的技术、思路和工具仅供学习交流使用使用者必须遵守《网络安全法》等相关法律严禁将本文知识用于任何未授权的非法活动否则后果自行承担与作者无关。未经作者授权禁止任何形式的转载。一、漏洞原理这道题依然是要我们通过低价不超过账号余额的100美元购买一件1337美元的衣服而且还给了我们一张优惠券NEWCUST5。一开始我在想不会又是通过并发使用优惠券的接口吧试了一下才知道这张优惠券只能抵消5美元所以要想通过这种方法购买成功得并发成功几百次才行这不现实所以只能另想办法。继续研究发现在网站的底部出现了一个“注册时事通讯”的输入框只要输入一个邮箱地址完成注册系统会赠送一张大额优惠券SIGNUP30。在下单页面正常情况下两张优惠券只能各使用一次但是如果我们交替使用它们却可以被使用多次最终让我们可以低价购买指定的商品。二、漏洞证明1、打开购物网站首页可以看到第一张优惠券NEWCUST5如下图2、拉到购物网站底部注册时事通讯只需任意填入一个邮箱地址即可如下图3、成功注册时事通讯后浏览器弹框提示我们又获得了另外一张优惠券SIGNUP30如下图4、把题目指定的商品Lightweight l33t Leather Jacket添加到购物车并进行支付。支付过程中我们交替使用两张优惠券如下图5、最终成功下单完成实验如下图在拿到SIGNUP30这张优惠券后我了解到它能抵扣400美元所以我在想能不能并发使用这张优惠券呢只要能并发成功4次也可以购买到指定商品了。于是我尝试了下面两个步骤1、把优惠券兑换的接口发送至Turbo Intruder然后修改优惠券名称指定攻击的python脚本如下图2、完成攻击后查看攻击结果如下图最终只有第一个请求正常使用了优惠券其他请求都会提示优惠券已被使用所以这个方法只能以失败告终。三、漏洞思考1、这道题在校验优惠券是否使用的时候可能是检查上一张使用的优惠券和当前的优惠券是否相同如果不同那么可以使用当前的优惠券如果相同那么不可以使用当前的优惠券。但是攻击者仅需要交替使用两张优惠券漏洞就产生了。所以这也提示了我们在检查优惠券是否已使用时应该检查当前的优惠券是否已被使用而不是检查当前优惠券和上一张使用的优惠券是否相同。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑