MoR03r MoR03r's Blog
护网杯ltshop题目记录
发表于 2018-10-25 | CTF

首先看一下题目首页,常规检查一遍,什么都没有发现

/content/uploadfile/201810/7af41540457239.png

然后注册用户,登录查看一番

/content/uploadfile/201810/f31f1540457340.png

经过一番测试,发现购买大辣条的地方存在一点点的条件竞争,可以购买到5包或以上的辣条

用burp抓包,发送到intruder模块直接多线程跑即可得到

/content/uploadfile/201810/d6c71540457380.png

/content/uploadfile/201810/fb451540457407.png

/content/uploadfile/201810/e8e71540457432.png

成功购买到5包以上辣条,然后在兑换辣条之王的位置进行整数溢出

测试结果是0xffff ffff ffff ffff转十进制后,先除以5然后再加1

这里的后端逻辑可能是5包大辣条换一包辣条之王,然后提交x份,那么就需要5x包辣条,但是因为MySQL的限制,超出0xffff ffff ffff ffff后就会报错,所以要除以5,然后加1进行溢出(赛后跟队友交流才知道,这里是Go语言写的,而且这里的溢出是Go语言的unsigned int的溢出)

/content/uploadfile/201810/f4081540457519.png

成功进行溢出,到info页面确认一下是否得到了足够的辣条之王

/content/uploadfile/201810/64f91540457556.png

完美,此时就可以愉快的购买flag了

/content/uploadfile/201810/4b701540457588.png

ps: 文章首发T00ls 博客直到现在才更新,均为本人原创

TOP