发帖
 找回密码
 立即注册
搜索
0 0

WEB bp官方靶场Business logic vulnerabilities 业务逻辑漏洞5

CTF练习 811 0 2025-8-10 16:08:20

第五关 低级逻辑缺陷

这一关就是考察一个整数溢出的问题,先让一个商品整数溢出到一个较小的负值,然后再添加一个商品抵消总价,我们再以低价进行购买商品

提示:1、靶场未充分验证用户输入

2、可以利用其购买工作流程中的逻辑缺陷以意外价格购买商品

3、己的帐户:wiener:peter

具体操作:

1、先过一下正常购买流程:登录wiener,添加皮夹克到购物车购买失败,余额不足

2、找到触发添加商品到购物车的POST /cart 请求数据包,发送到 Burp Repeater

、如图输入100是不行的,说明对于商品数量参数,前端做了验证

如图:修改参数为100后,发送数据包,返回响应是无效参数,这说明后端也做了验证

所以数量参数最多只能填到99的两位数,写到100的话就显示无效参数了

也就是说对商品数量参数前后端都做了验证

3、由于这关没有价格参数,也没有数量负值可以利用,上面已经尝试了数量写到100就是无效了,那说明数量是有个边界范围的,订单数量1-99之间

现在思路就是:对订单总金额进行测试,是否设置一个最大值

尝试过多次测试发现漏洞:订单金额是有边界的,当达到一个最大值时,就变成了负值

那这就是一个整数溢出的漏洞

先随便选择一个商品,我这里选择商品id=6发往intruder,数量写99,注意这里不要添加任何变量

payloads设置:选择空payloads,无限期循环

线程池保持默认就行,开始攻击

爆破整数溢出,出现最小值负数需要点时间

如图出现一个较小的负值了,然后暂停爆破

4、暂停爆破后,添加要购买的商品id=1的皮夹克商品,再次爆破下

payloads设置如图:

5、爆破皮夹克完了之后,如图:花点时间调整下

6、提交订单,靶场过关

──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回