靶场内容
本实验未充分验证用户输入。您可以利用其采购工作流程中的逻辑缺陷以意外价格购买商品。解决实验室,买一件 "Lightweight l33t leather jacket".
您可以使用以下凭据登录自己的帐户: wiener:peter
漏洞解析
- 这个漏洞依然存在一个逻辑缺陷
- 但是这次把商品的数量修改成负数是没用的,还是会显示为0,所以商品数量篡改为负数的方法,行不通
- 我们知道,int整数的范围是-231~231,这是个漏洞,一旦数值到达了2,147,483,647,就会回到--2,147,483,647。
- 利用这个漏洞,可以有效地让价格变成负数,那么要怎么样测试呢?
- 运行 Burp,登录并尝试购买皮夹克。订单被拒绝,因为您没有足够的钱。
- 在proxy中,研究订单流程。将POST /cart请求发送到 Burp Repeater。
- 在 Burp Repeater 中,请注意,你只能为每个请求添加两位数的数量,也就是最大为99。
- 将请求发送给 Burp Intruder。
- 在“position”选项卡上,清除所有默认payload位置并将quantity参数设置为99。
- 在“payload”选项卡上,选择有效载荷类型“Null payloads”。在“Payload options”下,选择“Continue indefinitely”。开始攻击。