前言
- 复现
NPUCTF2020
碰上彩虹,吃定彩虹! - 附件 https://pan.baidu.com/s/1Ok_xleNJ_VDqVYUnYpWIJQ 密码:
ijdv
Solutions
- 下载附件并解压,有三个文件:
lookatme.txt
、maybehint.txt
和secret
- 打开
lookatme.txt
发现文件是一串数字,全选以后发现最下方有几个空格和TAB换行组成的空。联想到是摩斯密码,空格 =.
,TAB =-
- 翻译出来的摩斯密码是:
.- ..- - --- -.- . -.--
,解密得到密文autokey
,根据解出来的密文可以判断上面的字符串经过了autokey
加密 - 再看一下
maybehint.txt
,提示在txt中隐藏了一些东⻄,用vim
查看
- 很明显为零宽度字符隐写,且由<200b>、<200c>、<200d>这三种字符组成, 去此网站解密,得到
do u know NTFS?
如下图200d>200c>200b>
- 用
ntfsstreamseditor
提取如下
- 稍加观察可以发现其中只有几种字符,而且都为重复的,据此可以尝试词频分析
1 | from collections import Counter |
- 得到结果为这几种字符从多到少的排列顺序,组合在一起得到
ZW5jcnlwdG8=
,base64
解密得到encrypto
,百度encrypto
可知其是一个加密软件,下载后尝试用其加密一个文件,可以得知经过其加密的文件后缀名为crypto
,将secret
文件后缀名改为secret.crypto
即可打开文件
- 可以看到文件被加密,想到
autokey
,但是由于没有给出加密密钥,所以需要对其进行 爆破,参考 此网址,当然,在 break_autokey 也准备好了,运行结果如下图
- 结合
hint
小写, 密码为iamthepasswd
- 可是用此密码解这个加密文件时却一直解不开,再结合题目描述中加粗的括号删掉,推 测是否在文件中还隐藏了什么信息,用
strings
命令查看一下文件可以发现这样一条信息
1 | (Oh!Youcaughtme!But...) |
- 将其删去后再次尝试解密,即可成功解密,解密后得到一张
彩虹.png
图片,binwalk
查看有个压缩包, 用foremost
分离得到一个加密压缩包,所以现在需要寻找密码 - 仔细观察图片可以发现,由五种不同颜色的横条分隔开的六块⻩色有略微深浅的差异, 用
gimp
或ps
打开提取一下颜色
- 分别提取一下六种⻩色,可以发现他们颜色的
HTML标记
只有最后两位不同,从上到下 依次为70、40、73、73、57、64,将这几个数组合在一起,用Converter
的Hex to Text
,或者python
的decode('hex')
,就可以得到解压密码
- 解压后得到
docx
文件,想到word
隐写,显示隐藏文字
- 仔细观察上面的一⻓串字母,可以在众多的小写字母中发现几个大写字母,按照顺序组合起来得到
ALPHUCK
, 查阅可知是一种Programming Language
,只由a
,c
,e
,i
,j
,o
,p
,s
这8
个小写字母组成,所以删去上面的几个大写字母,在线网站解码一下即可得到flag