攻防世界WEB进阶之lottery

攻防世界WEB进阶之lottery

  • 一、描述
  • 二、实操
  • 三、答案

难度系数: 1星
题目来源: XCTF 4th-QCTF-2018
题目描述:暂无
题目场景: 点击获取在线场景
题目附件: 附件1

一、描述

首先查看附件里的内容
攻防世界WEB进阶之lottery_第1张图片
首先通过下载附件的Rebots.txt里面看到有git,尝试是否存在git源码泄露问题,发现不存在(实际上我们已经通过附件拿到源码啦,这里只是思维的拓展。)。

二、实操

攻防世界WEB进阶之lottery_第2张图片
然后再查看其他的源码文件,发现api.php里面的内容值得好好研究

发现
攻防世界WEB进阶之lottery_第3张图片
对购买彩票的post进行抓包操作:

购买彩票的源码段,win_number存储产生的伪随机数,而进行位检查的时候使用

if($numbers[$i] == $win_numbers[$i]),我们知道在php中==的判断逻辑是弱类型松散比较的例如:
0=='0' //true
0 == 'abcdefg' //true
0 === 'abcdefg' //false
1 == '1abcdef' //true

所以我们直接构建出[true,true,true,true,true,true,true]进行比较,当然有0的时候会出现有某位是错的,但是多发几次请求我们就能够获得购买flag的钱币数了
攻防世界WEB进阶之lottery_第4张图片

三、答案

最中国我们通过购买flag得到答案:
攻防世界WEB进阶之lottery_第5张图片
至此最终的falg为:cyberpeace{34355a5d944ede88c2da6341835e06f8}

你可能感兴趣的:(攻防世界)