网鼎杯misc部分题的题解
自己的ctf算是零基础,进来公司安排的任务是收集整理近期ctf题目,我想着那就正好当作练习吧,于是随便自己写一下wp加深一下印象
1.hidden
上来先整一道简单的吧。
下面上wp
01
对压缩包进行解压,首先看到的是一张图片。然后开始常规的图片隐写题的套路。试了一波发现没找到flag。然后使用binwalk -e对图片进行分离,看到里面有一个压缩包
02
压缩包有密码,又看了一圈没发现什么提示,也有可能是没找到吧,然后尝试弱密码破解,最后试出来密码是1235
03
解压出来后发现是半张二维码
于是很容易想到了修改图片高度即可。
04
修改图片高度后,成功获得一个完整的二维码,然后扫一扫就得到了flag值
flag{04255185-de22-4ac6-a1ae-da4f187ddb8c}
2.key_123
01
首先对压缩包进行解压,密码为123
02
压缩包里有两张图片,如果看过动画片《魔法少女樱》,就会对这两张图片熟悉。首先找破绽,第二张图片这么长,所以尝试修改下图片高度,这里我用的010editor,修改成功后再次打开图片,可以看到发生了变化,底下出现了一串数字
03
对这串数字进行差分曼彻斯特解码可以获得一个十六进制字符串 13616b7572615f4c6f76655f53747261776265727279 解码之后可以改一下\x13可以得到密码 Sakura_Love_Strawberry
脚本地址http://antcave.cn/archives/400
04
得到了一串密码后就想可能第二张图片藏了一个压缩包,于是使用binwalk -e的命令进行拆解,得到一个压缩包,将上面的密码输入即可对其进行解压,得到flag
3.九宫格
01
解开压缩包后,打开文件夹,发现都是一堆的二维码
02
使用二维码解码工具进行批量解码,解出来都是zero或one
03
写个脚本文件,将其转换成0101此类的二进制格式,由此可以想到将此变为八位一组,组成ascii码再转成字符串
转成字符串的代码如下:
aa = ''
res=''
for i in range(0,len(aa),8):
# print aa[i:i+8]
res += chr(int(aa[i:i+8],2))
print (res)
04
结果为:
U2FsdGVkX19jThxWqKmYTZP1X4AfuFJ/7FlqIF1KHQTR5S63zOkyoX36nZlaOq4X4klwRwqa
密文中有斜杠/,百度了一下,发现可能是rabbit解密
根据提示,九宫格横竖斜和都为15, 如图,两个对角线大小排列可以获取一串数字 245568
这样就获得了密钥和密文,百度使用rabbit解密就可以获取明文