第一关 限制性溢出条件竞争漏洞
提示:1、靶场的购买流包含一个竞争条件,使你能够以非预期的价格购买商品
2、请成功购买轻****量级 L33t 皮夹克。
3、帐户:wiener:peter。
具体操作:
1、打开靶场就可以看到页面上显示的百分之二十的优惠券,然后正常用wiener:peter登录
2、登录后,先回到首页把“皮夹克”商品添加到购物车,看到可以填写优惠劵,然后连续输入了两次劵码,发现两次不行,只优惠了一次的20%,说明优惠券不能重复使用

下订单之后,也是显示余额不足以购买商品

知道了优惠劵不能叠加使用,然后商品也是购买不来的
那咋办呢?
优惠券应用之后,先删掉:

找到优惠劵已应用的数据包:POST /cart/coupon
把这个优惠券已应用的数据包发往intruder

到intruder里面,数据包不设置任何变量

选择空的有效载荷,无限继续发包

在这里这个intruder已经实现了这个并发发送请求的效果,我这里这些长度为158都是并发成功的优惠券已经多次再次应用了
如图,确实已经叠加应用了多张优惠券

在intruder不断运行爆破的情况下,刷新或者点击删除优惠券,总价就会不断刷新
但是真的去测并发的时候,保险起见最好不能够直接发到intruder

接下来看看测试并发怎么去操作呢?
先删掉应用过的劵码

找到这个优惠券应用的数据包发往Turbo插件

来到Turbo页面,选择“examples/race-single-packet-attack.py”并发选项,默认是发20个数据包,我这里改成22个,开始攻击

如图:1、这些长度100的就是劵码叠加使用成功的4有18个100的成功
2、显示劵码应用的就是成功的
这里的22的数据包,我发了6次攻击才成功

刷新页面,余额已经可以购买了

成功购买,靶场过关

以上就是用Tubro插件,发了6次攻击才成功