Skip to content

Latest commit

 

History

History
45 lines (29 loc) · 1.41 KB

File metadata and controls

45 lines (29 loc) · 1.41 KB

2048

本题是根据 https://github.com/volltin/flxg-2048/ 改变,所有方块的名称来自于某位老学长的长篇连载小说。

简单做法

通关,合并出「大成功」,就能得到 flag。

注意:如果在合并出「大成功」的同时方块无法移动了,算输 qwq。

复杂做法

查看网页源代码,发现提示:

  <!-- 
    changelog:
    - 2020/10/31 getflxg @ static/js/html_actuator.js
  -->

进而打开 static/js/html_actuator.js 这个文件,找到和游戏胜利有关的逻辑:

var url;
  if (won) {
    url = "/getflxg?my_favorite_fruit=" + ('b'+'a'+ +'a'+'a').toLowerCase();
  } else {
    url = "/getflxg?my_favorite_fruit=";
  }

  let request = new XMLHttpRequest();
  request.open('GET', url);

如果访问 /getflxg?my_favorite_fruit= 可以得到返回信息:

还没有大成功,不能给你 flxg。

这正是游戏失败时的提示信息。

我们打开 Chrome 浏览器的开发者工具,切换到 Console 标签页,执行一下 ('b'+'a'+ +'a'+'a').toLowerCase(),得到正确的应该填入的值为 banana,访问 /getflxg?my_favorite_fruit=banana,则可以得到正确的 flag。

有的同学可能会好奇为什么 ('b'+'a'+ +'a'+'a').toLowerCase() 的计算结果是 banana,这个问题可以参考:https://stackoverflow.com/questions/57456188/why-is-the-result-of-ba-a-a-tolowercase-banana