Lab 1
抓 Add to cart的包,改价格
Lab 2
先添加到购物车
再添加一样商品,抓 Add to cart的包,改数量为负,使总价位于0到资金之间
总价为负和皮夹克数量为负都不行
Lab 3
注册后,修改个人邮箱为@DontWannaCry.com
结尾,然后访问/admin
Lab 4
顶部给了优惠码
底部有个订阅新闻,随便写个邮箱,送一个优惠码
这俩优惠码连续使用会报错,交替使用则可以一直优惠
Lab 5
最大值溢出,不用线程为1也行,只要跑到金额为负,然后变正数就行,因为这个时候,你减少物品,总价格可以随意下调
Lab 6
最大长度截断
注册邮箱与后台验证邮箱逻辑不一致,注册时随便写多长。验证邮箱却截取前255位。所以控制长度,把DontWannaCry.com
刚好处在前255位字符末尾即可
Lab 7
修改administrator的密码,删除修改密码post包中的当前密码参数,即可成功修改
Lab 8
买一件便宜的,抓他的买单响应包就是那个303的包,然后买皮夹克的时候,把响应修改成买单成功的就行
Lab 9
把登录成功的302跳转路径修改为admin
Lab 10
买礼品卡,用优惠券,买单,获取礼品码,兑换
每次多3块钱,用yakit序列做
tips:第一个卖礼品卡的节点设置并发1,延迟几秒;买单后不要重定向,直接访问重定向后的那个页面,Xpath提取礼品码;优惠券是减30%,所以夹克九百多块钱就能拿下
Lab 11
发评论时,邮件地址写个非法的,他会在文章里打印出来。实际上是拼接上“Invalid email address: ”加密后作为cookie传递给文章页面的,文章页面解密后打印明文。
stay-logged-in的加密跟这个一致,logged解密出来是 用户名:时间戳
,所以设想用户名用administrator替换后加密,放到logged里,让服务器认为我们是管理员。但是这样尝试后,发现解密出来会拼接invalid,前面那个字符串是23长度。
先url解码,base64解码,得到密文,密文删去前23个,再传入,回显说要16倍数。说明我们删去前23个,但是尾部那里补全是出错的,那我们先将用户名前面加9个垃圾字符,这样前面凑够了32个长度。删除前32个也不影响administrator的开头。故技重施,发现解密出来的明文的确没有了invalid,所以把这个编码后的替换到logged和session里,访问/admin即可
Lab 12
题目让学习Splitting the Email Atom: Exploiting Parsers to Bypass Access Controls,受益匪浅
原来电子邮件不但能编码,还能注释。
注册邮箱写:=?utf-7?q?attacker&AEA-exploit-0a9f00fc04abbc7781a74287019e0063.exploit-server.net&ACA-?=@ginandjuice.shop