[GDOUCTF 2023]hate eat snake
2023-12-30 18:28:48
[GDOUCTF 2023]hate eat snake wp
一般说玩游戏的题答案在源码里,但是本题源码中没有任何跟 “flag” 或者 “ctf” 有关的信息。
页面如下:
唤出控制台
在此页面中 F12 调不出控制台(可能是在 js 代码中禁用了)。但其实还有两种方法可以唤出控制台,一是右键->检查。二是火狐浏览器右边的三横->更多工具->开发者工具。
一般来说这种题目给出 flag 的方式是通过 alert 函数弹窗。
直接搜索 alert :
只有一个 alert ,估计这就是 flag 了。
点下面的 { }
调一下格式:
稍微分析一下代码,需要满足 this['getScore']()
函数的返回值大于某个数才会触发 alert 。
搜索 getScore :
简单搜索一下,发现了 getScore 函数的定义,其返回值是 score 。那么思路已经很明确了,调试代码到此处,修改 score 的值,将它改为一个很大的数即可。
调试 js 代码:
84 行打断点;
刷新该页面;
空格键开始游戏;
此时代码已经运行到断点处。
控制台修改 score 变量的值:
修改为一个很大的数,回车,然后点三角形继续运行。
弹出 flag :
总结
本题还有许多种解法,但思路都大同小异:覆盖源代码属性的值或者部分源代码使之符合输出 flag 的条件。
最好还要有一定的 javascript 基础做起来才会更轻松一点。
文章来源:https://blog.csdn.net/m0_73612768/article/details/135307333
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!