Hgame2022 week1~4 misc writeup


Week 1

欢迎欢迎!热烈欢迎!

没啥可说的,好多ctf比赛都有关注公众号送flag的题目

这个压缩包有点麻烦

(这个题一开始的附件给错了,我说怎么做不出来)下载更新后的附件,注意到加密压缩包的注释:Pure numeric passwords within 6 digits are not safe!,于是使用工具archpr进行6位纯数字爆破,得到密码

解开后得到三个附件,可以看出是字典爆破,于是再次使用archpr,得到密码

最后一层压缩包,观察到內部有一个和上一层压缩包里的README.txt一摸一样的文件,同时根据README里的提示:If you don't like to spend time compressing files, just stores them.以存储的方式将README.txt进行压缩,然后再次利用神器archpr进行明文攻击,拿到flag.jpg。使用binwalk分离后发现图片里藏了一个压缩包,由于没有提示,猜测是伪加密,使用ZipCenOp即可解开拿到flag。

好康的流量

Wireshark打开文件,发现导出IMF对象时有东西

于是点开这条记录并追踪TCP流,发现一大串base64,推测是转图片,使用在线工具转完后,放进Stegsolve里看看,左右调调发现了左上角的条形码,扫一扫得到前半段flag。然后再看看LSB隐写部分,发现后半段flag,拼起来即可。

群青(其实是幽灵东京)

拿到音频,放进Audacity查看,波形没啥问题,频谱图有点东西

暂时不知道是什么,先放着。随后观察到音频文件属性中的提示,使用工具SilentEye解密,无密码时解密没有结果,因此猜测Yoasobi就是密码,解密得到下一个附件的下载地址,根据文件名和音频了解是无线电,使用工具RX-SSTV解密得到一张二维码,扫描得到flag。

Week 2

奇妙小游戏

没啥可说的,看了好几天,挺难想到这个小游戏居然是个迷宫,并且两关之间时间间隔较短,难以手动闯关,因此使用代码帮助通关。

from pwn import*
?
#验证码
def proof_of_work():
rev = r.recvuntil(b"sha256(????) == ")
tar = r.recv(64).decode()
def f(x):
hashresult = hashlib.sha256(x.encode()).hexdigest()
return hashresult == tar
prefix = util.iters.mbruteforce(f, string.digits + string.ascii_letters, 4, 'upto')
r.recvuntil(b'input your ????> ')
r.sendline(prefix.encode())
?
?
def solve():
r.recvuntil(b"level:")
level=int(r.recv(1))
r.recvline()
r.recvline()
y=[]
#接收迷宫
while(1):
line = r.recvline(keepends = False).decode()
line = line + " "
if line[1] == '-' :
break
h+=1
y.append(line)
r.recvuntil(b"is ")
ans=int(r.recv(2))
#计算answer并发送
for x in y[::-1]:
if x[5*ans+1]!=' ':
ans+=1
elif ans==0:
continue
elif x[5*ans-1]!=' ':
ans-=1
print('ans:',ans,"\n")
r.sendline(str(ans).encode())
#print出来纯属娱乐
print('level:',level)
print('maze:')
for _ in y:
print(_)
print('entry:',ans)
#打到level5就结束了
if level==5:
r.interactive()
?

r=remote("chuj.top", 50952)
proof_of_work()
r.sendline(b'start')
while(1):
s=solve()

跑代码即可拿到flag(使用代码记得修改端口值)。

一张怪怪的名片

拿到图片,发现要修复二维码,使用在线工具照着图片拼完,得到一个类似网址的文本

对其中内容使用bing进行查询,发现了一个博客,根据提示使用cyberchef解密得到flag

ps:猜密码过程见官方wp

你上当了 我的很大

百度网盘上的巨大附件,要下好长时间...(原来我有vip啊,那没事了)打开压缩包,里面是数不清的套娃压缩包,我这种代码渣直接手动打开并解压缩,最终得到三个视频,分别是flag.mp4,lagf.mp4,agfl.mp4,只有后两个的视频尾部有奇怪的码,于是截图并使用解码网站1解码网站2以及解码网站3解码这两个码和原题给的两个码,得到四段base64,转图片后拼起来即可得到flag。

Week 3

卡中毒

可以看看我学习misc的文章,里面有对于内存取证以及此题的讲解

谁不喜欢猫猫呢

不会写捏...直接看官方wp进行一个现的复

唉,还是太菜了,题目图片改不改对我都没有影响,没看懂...

Week 4

摆烂

直接解压压缩包发现文件损坏,使用winhex打开,发现这并不是单纯的zip形式,在里面同时发现了zip文件头和png文件头,所以这是是zip接png。我把原zip用txt形式打开,将两段分别提取出来,得到了一个正常的压缩包和png。压缩包正常且被加密,尝试过后发现不是伪加密,猜测密码在图片里,使用winhex打开图片,在文件头发现了acTL和fcTL,我也不认识是啥,上网查询后了解到这是apng格式,类似于gif。于是使用工具apngdis_gui对其进行分解,得到两张看起来一摸一样但是大小不一样的图片,猜测是盲水印,于是使用解密工具解密,得到一张模糊的图片,但是可以大概的看到字符,将其作为密码成功解开压缩包,然后解压4张图片,拼成完好的码以后,使用在线工具即可扫描得到一段文本,复制到记事本里发现含有大量的零宽字符,使用在线工具即可得到flag。

At0m的给你们的(迟到的)情人节礼物

在hint视频里看到了后台有个软件叫MSU_stego_video,下载后发现可以原来解密avi文件隐写,于是拿去分析gift2,在无数次尝试中,只有密码为123456时解出一些奇怪的东西,于是把目光放在gift.mp4上,发现也没啥东西。最后发现,gift原压缩包不是zip而是rar压缩包,于是使用winhex打开后发现这样一段数据

这才知道gift.mp4里藏了一个hide.txt文件,于是认为是NTFS隐写。使用NtfsStreamsEditor2搜索gift文件夹,顺利发现了hide.txt

然而这里面的上下左右彻底难住了我,一直没有解出来。终于等到官方wp,发现竟然是利用换挡编码的文本,于是在网上找了个挡位图

 结果还是不太懂,最终在wp里拿到一串数字6557225,放MSU_stego_video里解密即可得到flag。

《TOP SECRET》

完全没有看懂,给了hint之后也是几乎没有头绪,结果最后题目被分成3部分,也只是做出了第3部分,因此使用官方wp进行复现。

第三部分

先说第3部分,拿到图片后,首先观察发现有许多异常的像素,于是使用winhex打开查看,发现了这个东西

我发现这个结构和一般的png图像不一样,查询资料后了解到这似乎是ios系统的专属块,而我恰好有一个ipad,于是把图片发给ipad后发现二维码与原来不同,扫描两个二维码,拼接文本即得flag。

第一部分

 

第二部分

 

结尾

好啦,Hgame的所有misc题解都在这里了,通过这次比赛,我学到了很多新知识,也意识到了自己的不足(甚至学了一段时间的web还一题没做出来),只能说再继续努力吧,希望下次再写wp的时候能有web方向的题解。

 

相关