[青少年CTF]misc-Simpleness
0x01 题目
附件:simpleness .zip
0x02 解题
这题包含的知识点比较多,写wp真是累死我了,看过的师傅在下面留下点评论呗🥹
0x0201 弱口令爆破
解压了simpleness.zip,发现一共有三个文件:
- flag.zip
- hint.zip
- key.zip
放到kali里面使用john进行爆破:
hint.zip的解压密码为: 123456
其他两个包跑了一好一会儿没跑出来,那就先分析hint.zip里面的文件。
0x0202 RAR伪加密
hint.zip里面解出两个文件:
- hint.png
- hint.rar
这个hint.rar是伪加密,随便打开一个十六进制的编辑器:
找到第24个字节,这里的0x24
表示已加密,改成0x20
表示未加密,改完:
保存之后,成功解压hint.rar,得到一个hint.txt:
这里得到
提示1:key.zip的密码范围是qsnctf大小写,且此密码可多次使用
提示2:要用到SilentEye0.3.1这个工具(之前做的时候没有这个提示,卡了好久
0x0203 图片隐写
再看第二个文件:hint.png
是一张平平无奇的png图片,但是丢到foremost看一下发现里面藏了个zip
1 | Foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus |
1 | foremost -i hint.png |
提取出zip文件,解压发现没有密码,得到一张二维码:
使用工具扫码得到另一个hint:
提示3:最后一个压缩包是中文
0x0204 python生成字典爆破
通过提示1
,我们可以知道key.zip的密码是qsnctf的大小写组合,通过写python脚本生成一个字典:
1 | ┌──(root㉿localhost)-[~/q1jun/markdown/simpleness] |
python脚本如下:
1 | S = 'qsnctf' |
使用zip2john生成压缩包的hash:
1 | zip2john key.zip >> key.txt |
使用john根据上面生成的字典wordlist.txt进行爆破:
1 | john key.txt --wordlist=wordlist.txt |
立马得到压缩包key.zip的密码:QsNcTf
解压得到一个bmp文件:
0x0205 LSB+AES隐写
看到bmp格式的图片,第一个想到这是LSB隐写,但是当我分析完了R- G- B低位隐写的所有数据之后并没有发现什么有用的东西。
想到前面的提示2:是用SilentEye0.3.1这个工具进行隐写的,用这个工具进行decode:
还是不行。
想到前面的提示1说到QsNcTf
这个密码可以多次使用,勾选Encrypted data使用AES128进行解密:
发现图片里面隐藏了一个1.txt
文件,提取出来:
0x0206 零宽隐写
发现直接看并没有什么有用的信息,用Sublime text打开之后发现:
发现是个零宽隐写。
这里有个坑,这个网站并不能正确的现实里面隐藏的内容,
换了个网站:Zero Width Lib (yuanfux.github.io)
发现了里面隐藏的内容:
这里得到了flag.zip
的密码,但是试了半天Hello World
,发现并不能解开压缩包
最后发现密码是这一整句话。。
1 | The password is Hello World |
0x0207 SNOW-无字天书
解压flag.zip之后,以为马上拿到了flag准备提交,结果发现又给了两个文件(我快崩溃了
- flag.zip
- key.txt
打开key.txt后,发现什么也没有
想到可能是SNOW的无字天书隐写,因为里面有很多空白制表符,但是没有任何内容。
通过SNOW.exe
工具解出一串数字:
0x0208 中文电码解码
得到一串数字:
1 | 66382508137843160834 |
想到提示3: 最后一个压缩包的密码是中文 ,想到这可能是中文电码(因为要让它变成汉字
打开中文电码查询网站:中文电码查询 Chinese Commercial Code
得到最后一个压缩包的密码:
1 | 这是密码吗 |
解开最后一个flag.zip之后发现….又是一张图片flag.jpg
!
0x0209 JPG文件修复
发现flag.jpg并不能打开,丢到十六进制编辑器里面:
在文件末尾,看到这些乱码是文件被逆序,而且奇偶互换了
通过python写一个脚本进行修复,脚本如下:
1 | s = open("flag.jpg","rb").read() |
1 | s = open("flag1.jpg","rb").read()[::-1] #逆序 |
得到flag2.jpg可以正常打开:
0x0210 图片宽高隐写
得到flag2.jpg之后还不能得到flag,分析flag2.jpg也并没有发现里面藏了其他文件。
想到可能是修改了高度,丢进010Editer:
找到高度 WORD Y_image
,把它改高一点,我这里改成600:
保存后再打开图片,得到flag:
制作writeup不易,师傅们留下点评论或点赞吧🥺