前置知识
js(javascript)语言用于前台控制,不需要知道他的语法是什么,以高级语言的阅读方式也能看懂个大概。
在JavaScript中,confirm()是一个用于显示确认对话框的内置函数,不用知道怎么使用。
信息收集
提示:不要着急,休息,休息一会儿,玩101分给你flag
玩101分不会是分钟吧,这都没显示分数啊。这破游戏这么难,怎么玩
抓包扫目录,无果。
这是个小游戏,大概率是前台的javascript写的,抓到的包里发现了一个js文件。猜测flag应该写在js文件里,或者js里有控制发送给后台数据的代码,告诉后台玩家是否获得了101分,以获得flag。我们需要做的是读懂关键逻辑,直接拿到flag或者是篡改发送个后台的数据。
抓包,打开Flappy_js.js
乱七八糟的,我放vscode看了,直接看也行。
赶时间直接搜flag,往下看看,score > 100,这不就是我们想要的吗
window.confirm(“GAMEOVER\n**********”)
结合这个弹窗,可以推测,如果分数足够会直接弹窗返回flag给我们,也就是confirm里那个。
我们把\u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b
拿去解密就能拿到flag了…的线索了
在线unicode转中文:https://www.jyshare.com/front-end/3602/
当然,你有python可以直接python print(u"\u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b")
输入url/110.php
拿到flag
web17 目录 web19