前言
原来理塘还是“世界最高城”啊~布吉岛这辈子还有没有机会去看看呢?
一、题目
题目给了一个.Wav后缀的音频文件,试着听了一下,结果感觉完全听不出啥东西,还有一个加密的zip压缩包,需要密码才能打开,并提示说“不是猜密码别试了”。
二、解题思路
1.直接用strings命令看一看音频内容
可以看到最后有一个jpg文件,那就是要把它分离出来了,可以去kali下用binwalk -e命令,或者直接在mac下用MacZip打开。
得到的jpg图片是这样的:
2.还是用strings命令再看一看图片内容
看到最后一行有一句#Can you see me:afZ_`AJB
感觉这肯定是有用的对吧
但想了很久不知道咋用,开始猜测是不是要分析音频,是不是和丁真有关,甚至是不是和“show show way”这个梗有关,结果试了一圈下来发现不是分析音频文件,也和丁真没什么关系(虽然图片和他有关……
3.找规律得到解压密码
然后转机就是比赛结束后才想到,这个afZ_`AJB会不会是flagxxxx移位之后的东西?然后试了一下flag和afZ_的“距离”,果然有规律,就是afZ_这四个字符分别向后移动5678位就是flag这四个字符,然后合理猜测下后面也是逐位多移动1位。写几句Python得到了flagiKUN(这和丁真有啥关系啊喂!这不是cxk么为啥放丁真的图???
flagiKUN就是解压密码
Python代码放在这:
s='afZ_`AJB'
for i in range(len(s)):
print(chr(ord(s[i])+5+i),end='')
4.解压文件得到flag
用flagiKUN作为密码解压zip后,出来一个flag.txt,打开就是flag:
总结
这道题还是上个月的某个星期四做的,当时是一个小比赛说拿名次可以请吃疯狂星期四。
那时还没接触过这种分离文件的杂项题,现在知道这种题目很典型也很简单了。
这道题其实关键在于找到规律将字符串还原成正确密码,要是想复杂了反而越做越难还做不出来了。