[*CTF2019]otaku
[*CTF2019]otaku
1.题目概述
BUU上少了题目描述
One day,you and your otaku friend went to the comic expo together and he had a car accident right beside you.Before he died,he gave you a USB hard disk which contained this zip.Please find out his last wish.
提示:The txt is GBK encoding.
2.解题过程
010打开
藏着其他的zip,kali分离
binwalk分离文件
寻找docx隐藏内容
爆破无果,去前面那个docx文档里寻找线索
很明显,这个文档隐藏了一些内容
在搜索框里搜索显示/隐藏编辑标记,显示出隐藏的内容
对比发现,隐藏的内容为:
Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can't contact Violet now. She must be desperate to see me and I don't want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don't play the Hearthstone, and I don't even know what is Rastakhan's Rumble."
去掉不可见符号
利用记事本的替换功能
Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can't contact Violet now. She must be desperate to see me and I don't want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don't play the Hearthstone, and I don't even know what is Rastakhan's Rumble."
然后联想刚刚那个加密压缩包里的last words.txt,猜想是明文攻击,把这段文字改成GBK编码(BUU上漏掉了这一个关键性的提示)
转换为GBK
# -*- coding:GBK -*-
f = open('flag1.txt','w')
s = "Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can't contact Violet now. She must be desperate to see me and I don't want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don't play the Hearthstone, and I don't even know what is Rastakhan's Rumble."
f.write(s)
f.close()
打开转换后的GBK文件
这里有个疑问,为什么文件内容没有变化?
然后把flag1.txt压缩为zip,然后观察CRC校验码和前面那个flag.zip的是否一样(这个真没想到)
明文攻击
确实是一样的,那就开始明文攻击(打开的文件是加密的文件,明文文件是刚刚flag.txt压缩后的zip)
解压
txt文件和前面那个txt文件内容一样,010打开图片没发现什么东西
看看是不是LSB隐写
png数据隐写
法一:stegsolve-data extract
法二:kali工具zsteg
(查看PNG和BMP文件隐藏信息的工具)
3.flag
flag{vI0l3t_Ev3rg@RdeN}