靶场 | 5分钟
Yakit打BurpSuite靶场—业务逻辑漏洞篇
六月 16, 2025
最大值溢出 最大长度截断 逻辑漏洞 邮件地址解析

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