nazo.moe 解谜小游戏攻略
2018-05-23 / 2018-06-02
分类:

据说是类似 CTF 题的东东,一不小心玩了很多关,觉着挺有趣的,顺便把攻略写写下来。地址:https://nazo.moe/

题1 欢迎

用到的工具:一双明亮的眼睛
答案就写在页面上,颜色很淡。。。实在看不清就看源码好了。。。

key: welcome

题2 F12

用到的工具:F12
F12 看 console

key: c0nso1e

题3 Git

用到的工具:Git Bash
页面上只有一张 git 的 logo,下载下来扩展名改成 zip 试试,发现是个本地的 git 仓库。
解压出来是一个空白文件名的文件和一个 .git 的文件夹,文件里面是空白的字符,翻了下 .git 文件夹中的内容,发现有两个分支(master 与 owo)。

在 Git Bash 中输入 git branch 确认下

1
2
3
$ git branch
* master
owo

果然有两个分支,切换到 owo 分支试试(分支名这么萌真的好么www)

1
2
$ git checkout owo
Switched to branch 'owo'

然后再看看那个空白文件名的文件的内容。。。

key: g1tbr@nch

题4 Redirect

用到的工具:Fiddler
跳转的页面抓包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
HTTP/1.1 200 OK
Server: openresty/1.13.6.1
Date: Tue, 15 May 2018 13:20:59 GMT
Content-Type: text/html
Content-Length: 82
Connection: keep-alive
Last-Modified: Sat, 12 May 2018 05:03:07 GMT
ETag: "52-56bfb2b17e0f0-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
X-Cache: MISS from hkg1.hk.smartgslb.com
Via: 1.1 hkg1.hk.smartgslb.com (squid/3.4.9)
<script>window.location.href = "https://satori.moe"</script><!--key: pK4fJ4Z73D-->

key: pK4fJ4Z73D

题5 Simple Authorize

用到的工具:Fiddler、F12
打开页面提示 403 Forbidden,权限不够。Fiddler 看到请求 Cookie 有个 is_admin=0,Chrome 调出开发者工具 Application 标签下把 Cookie 改成 is_admin=1,再刷新页面就能看到 Key 了。当然用 Fiddler 直接重新发包也可以。

key: c00kie_1s_n0t_5ecure

题6 Bypass GFW

用到的工具:Telegram、任意翻墙工具
这题简单。。翻着墙点开连接直达 Telegram 就可以了。。。

key: a3o44HGNB6

题7 TXT Record

用到的工具:CMD 或者 Shell
查询当前域名的 TXT Record 即可

1
nslookup -qt=txt nazo.moe

1
2
3
4
5
6
7
8
> nslookup -qt=txt nazo.moe
服务器: public1.alidns.com
Address: 223.5.5.5
非权威应答:
nazo.moe text =
"a2V5OiBITDZtcTdyODJWCg=="

一看就是 Base64,解密得:

key: HL6mq7r82V

题8 ASCII Art

用到的工具:任意文本编辑器
# 替换为 换行1 替换为 11,就是个字符画了。

key: 7YL38

题9 Familiar Sound

用到的工具:Adobe Audition
听音频是拨号的声音,当时就想到某学生通过拨号声音找出360周鸿祎手机号的事了。搜了相关资料以后找到了声音频率对应号码的表,然后 Au 导入音频,Alt + z 打开频率分析窗口,看每次拨号音频的低频和高频的所对应数字。。。
AU分析

结果是:89#57#65#105#122#55(真是个体力活)
然后输入居然不对,在看了一眼应该是 ASCII 编码的,以 # 作为间隔。解码得到:

key: Y9Aiz7
对应表

题10 条件判断

用到的工具:百度
PHP 不熟悉,研究了半天没找到 id 到底该等于多少,遂百度之。
访问 https://nazo.moe/assets/nazo/key.php?id[]=1 即可。

key: 3hmrt6P

题11 Where is Key?

用到的工具:Fiddler
点击链接,看了眼 Response。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
HTTP/1.1 200 OK
Server: openresty/1.13.6.1
Date: Tue, 15 May 2018 05:39:08 GMT
Content-Type: text/html
Connection: keep-alive
PoweredBy: Hostker App Service
Key: An8mtE9q47
CpuTime: 0
Vary: Accept-Encoding
X-Cache: MISS from hkg4.hk.smartgslb.com
Via: 1.1 hkg4.hk.smartgslb.com (squid/3.4.9)
Content-Length: 15
Key is Not Here

key: An8mtE9q47

题12 Private Repository

用到的工具:Git Bash
提示是个带密码的私钥,不知道要不要解密,我反正在[http://tool.chacuo.net/cryptrsapassclear]
(http://tool.chacuo.net/cryptrsapassclear)解密了私钥。
然后 ssh-add 了这个私钥,接着就可以 git clone git@github.com:komeiji-satori/nazo.git
里面文件保存着 Key。

key: f463X4njxk

题13 Swap File

用到的工具:任意16进制编辑器
linux 文本的交换文件,原以为要去 linux 下构造一下。。结果习惯性的用 EmEditor 看了一眼就看到 Key 了

key: 38ayyke64Z

题14 Encryped Video

用到的工具:FFmpeg
修改 frame.m3u8 加上一行 #EXT-X-KEY:METHOD=AES-128,URI="http://127.0.0.1:8000/key.m3u8",IV=0x00000000000000000000000000000001
由于 FFmpeg 的某种白名单机制我把 key 改名成 key.m3u8,并在本地建立简单的 http 服务器用于访问这个 key。即http://127.0.0.1:8000/key.m3u8
然后用 FFmpeg 合并输出 mp4 即可。

1
ffmpeg.exe -protocol_whitelist "crypto,file,http,https,tcp,tls" -i frame.m3u8 -c copy frame.mp4

打开 mp4:

key: uoy99gCm32

题15 Pixel

用到的工具:任意编程语言
看了 json 数据内容配合标题,肯定又是像素画。处理 json 最好用的当人是 js 啦,直接在浏览器里执行:

1
2
3
4
5
6
7
8
var json = {...}
for(i = 1; i < json.h; i++) {
var line = "";
for(j = 1; j < json.w; j++) {
line += json.pixel[i][j];
}
document.write(line + "\n");
}


看上去是个二维码,查找替换,处理一下。

PS 二值化,然后扫一扫~

key: 2k28a7yE

题16 Element

用到的工具:F12
看标题是和网页元素相关联的东西,但是和以前关卡的网页对比,毫无区别呐。。
最后发现 app.css 里面的 .nazo-hint 样式里面的背景图有问题。。。下载下来用文本文档打开即可。。。
这个样式在前几关就注意到了,然后在这一关下意识忽略了。。。

key: 24xKwQ32

题17 Script

用到的工具:F12
上一题是元素,这一题是脚本,看源码和提示,直接断点执行 js 就能看到答案了。

key: 26JN6zY6

题18 Weak Type

用到的工具:任意发送请求工具
php 的题,百度之,得知 0=="admin" 这种形式可以绕过 key 的判断。
发送 POST 请求 message={"key":0} 就能得到 key 了

key: Y8k736Py

题19 Doki Doki Literature Club!

链接点进去就能看到 key 了。。

key: just^monika&