【bugku】 web_game1_来啊盖楼啊

萌新第一次写writeup,如有不足请大佬指正!本人也在学习中进步!

首先是这么一个网页小游戏,有点意思

一般来说这种题可以通过玩游戏直接得到flag(经验与直觉,今年蓝帽杯的第一道web题历历在目),但要是出题人头铁要你得分99999999999999分(那到不至于),这就真的不好办,毕竟没办法大力出奇迹。

然后我们先试玩一下游戏。

好吧其实分数并不重要,因为你玩过几次后就会发现就算是达到预定分数获取flag也并非你人力所能及。

在提交分数页面用bp抓包或者按F12查看源代码。

找sign,这里数据包太多了在搜索栏里面找。

点开唯一的一个带sign的get包,在右边继续搜索sign,找到消息头

可以看到右侧的 sign:zMNTA=== ,

sign为 zM + base64编码部分 + == ,

所以我们取中间的 NTA= ,用base64解码一下,果不其然,50,正好是我们玩游戏得到的分数。因此这里的sign值就是我们游戏结束后向服务器提交的分数。

可以想见,如果我们提交的分数达到了获取flag的阀值就可以获取flag。

因此要在这里做手脚。

右键左边的get包,复制网址,新建网页粘贴看一下。

 看见:http://114.67.246.176:13124/score.php?score=50&ip=125.62.3.97&sign=zMNTA===

访问网站的score.php文件(?)(此处解读存疑,在下php没学好,麻烦大佬指点一下万分感谢)

score=50和sign=zMNTA===处分别把等号后面的改成99999和它的base64编码就好了

flag就出来了。

后记:因为本人也是萌新,所以肯定有不足之处还请大佬指点!

如果也有和我一样的萌新也可以和我来一起学习!不喜勿喷谢谢!

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值