1.git泄露
2.php弱类型比较
发现有git泄露
打开kali,用githack进行下载
拿到源码后进行代码审计
从index.php开始审计结合网站的买flag页面
去bug.php中发现了js的引用
在js中,发现了api.php
最终,在api.php中发现了分数的计算方式
注意到 那个是 两个=号,因此有弱类型漏洞即
- true和任何玩意都可以 == 为true
- 如
- true == 1 这个是true
- true == 2 这个也是true
- 因此,只要我们把numbers数组中的值都改成 true,true,true,true,true,true,true,则一定全对,就能拿到最高的奖金
思路有了,接下来就是抓包修改值
将json中,numbers的值修改为数组值即可
多发几次,就可以凑到足够的钱了,然后就是买flag
注意:虽然我们有源码,但是不能去改源码,因为这些源码是在对方服务器上运行的(在本地可以通过修改价格来买)