Buy a lottery!
一个猜七色球游戏,玩一次20,对2个球赢5,3个球赢20,4个球赢300,7个球直接有了买flag的钱,这概率基本不可能,只要能中,明天就去买彩票。。。
先以为可能存在逻辑漏洞,审了半天也没发现有点啥。后来从头开始完成,在进行信息收集过程中扫到了以下信息。
接着去访问,得到一个关键信息.git
。
.git
不能直接访问,这是一个目录,但是可以通过工具把.git
打包下载,我这里使用的是githack工具。
GitHack.py http://101.37.78.165:3104/lottery/.git/
用法还是简单的,
这里所有的代码就可以直接进行审计了。
打开buy.php
进行查看
哪都没看到相关的信息,简直了。然后抓包看了下。
如果是通过JS走到api.php
中的,继续跟。
最终定位到这里,利用php的弱比较,true
和int
比较都是成立的。
所以将刚刚的包改成[true,true,true,true,true,true,true]
。
一定要有7
个true
,而且要把数组的引号给去掉
,接着再来一次,就够钱了,去买就可以拿到flag
了。