MoeCTF2025-WEB-WP

之前比赛时候就写好的,一直忘记发了,还差一个第23关的Java题,复现好了再单独发一个

WEEK1

0 Web入门指北

查看附件,内容如下

1
2
3
你知道什么是控制台吗?快去了解一下吧!

((+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(.......略)

提示控制台,在浏览器中F12打开开发者工具,在控制台页面输入附件中的内容即可得到flag

image-20250821193227041

附件中的是一段大量使用![]+[]!![]等逻辑运算符、数组及函数调用组合的混淆 JavaScript 代码,代码的目的就是输出flag

在控制台中可以运行 JavaScript 代码,所以可以得到flag

01 第一章 神秘的手镯

打开题目环境,随便输入点东西

image-20250821194033560

发现需要输入一万个字符,而且禁止使用复制粘贴

方法一

直接查看源码发现引入了shouzhuo.js文件,在其中可以找到flag

image-20250821194513000

方法二

F12打开开发者工具,然后按F1,找到禁用 JavaScript勾选上,这样 js 代码就不会执行了,就可以使用复制粘贴了

image-20250821194756165

然后题目给了个附件,将其中内容复制粘贴输入进去即可,输入后点击启动手镯,没反应刷新几次就好啦

image-20250821195034466

shouzhuo.js中的代码的意思就是定义了一串长达10000的字符串,然后如果输入的内容和定义的字符串相同,就会输出flag,而字符串已经在附件中给了我们,所以可以直接使用

02 第二章 初识金曦玄轨

打开题目环境,可以发现有两行模糊的字

image-20250821195457406

可以在源代码中查看

image-20250821195613915

给出的提示

1
前往/golden_trail看看

访问/golden_trail这个路由看看

image-20250821195653817

似乎没什么东西,但是看看题目提示,抓HTTP请求包

image-20250821195706977

抓包看看

image-20250821195922981

可以在响应头中看到有flag

image-20250821195936541

更简单的就是在开发者工具中的网络里查看

image-20250821200048243

03 第三章 问剑石!篡天改命!

打开题目环境,看起来没什么信息

image-20250821200234620

看源代码,可以看到一段 JavaScript 代码(