BUUCTF MISC刷题笔记
Posted z.volcano
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUUCTF MISC刷题笔记相关的知识,希望对你有一定的参考价值。
BUUOJ
Misc
[WUSTCTF2020]spaceclub
直接用记事本打开txt文件看不到内容,所以用notepad打开
发现有几百行空格,有长有短
把长的换成1,短的换成0,每8位转字符,得到flag
f = open("1.txt","r")
flag = ""
for line in f.readlines():
if len(line) == 13:
flag += "1"
else:
flag += "0"
f.close()
for i in range(len(flag)//8):
print(chr(int(flag[8*i:(i+1)*8],2)),end="")
派大星的烦恼
派大星最近很苦恼,因为它的屁股上出现了一道疤痕!我们拍下了它屁股一张16位位图,0x22,0x44代表伤疤两种细胞,0xf0则是派大星的赘肉。还原伤疤,知道是谁打的派大星!(答案为32位的一串字符串) 注意:得到的 flag 请包上 flag{} 提交
给了一个bmp图片,提示中提到了0x22
和0x44
,010打开图片,搜索一下发现
这里有:
"DD"DD""""D"DD""""""DD"""DD"DD""D""DDD""D"D"DD""""""DD""D""""DD"D"D"DD""""D"DD""D"""DD"""""DDD""""D"DD"""D"""DD"""D""DD"D"D"DD"""DD""DD"D"D""DD""DD"DD"""D"""DD""DD"DD""D"D""DD"D"D"DD"""D"""DD"""D"DD""DD"""DD"D"D""DD"""D"DD""DD""DD"""""DDD""DD""DD"""D""DD""
把"换成0
,D换成1
,得到一串长度为256
的二进制,因为256/8=32,而最后的flag长度正好是32
0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100
尝试直接每8位转字符串,发现乱码了…
一番尝试后,发现需要整体倒过来,再转字符,得到一串正常的字符串,但是提交失败…
最后发现得到的结果还要再次逆序…
flag="0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100"
flag=flag[::-1]
x=""
for i in range(len(flag)//8):
x += chr(int(flag[8*i:(i+1)*8],2))
print(x[::-1])
[SCTF2019]电单车
拿到一个wav文件,用Audacity
打开,观察波形
这里的知识点
对照一下,转换成
0 0111010010101010 0 110 0010 0 011101001010101001100010
空格去掉,套上flag{}即可
hashcat
下载得到一个无后缀文件,用winhex打开发现文件头是D0CF11E0
,可能是doc
、xls
、ppt
改后缀为doc,打开时发现需要密码
根据题目名提示,可以用hashcat
爆破密码
不过我有其他工具,用起来会更方便
拿到密码
不过打开后报错,尝试改后缀为ppt
,成功打开
发现第七页好像有字
修改颜色拿到flag
[UTCTF2020]zero
打开txt,内容如下
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus quis tempus ante, nec vehicula mi. Aliquam nec nisi ut neque interdum auctor. Aliquam felis orci, vestibulum sit amet ante at, consectetur lobortis eros. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In finibus magna mauris, quis auctor libero congue quis. Duis sagittis consequat urna non tristique. Pellentesque eu lorem id quam vestibulum ultricies vel ac purus.
其实看到这个题目名就知道考察的是零宽字符隐写
winhex打开可以看到很多零宽度字符,或者直接在linux系统下打开,看的更明显
到在线网站解密,拿到flag
[*CTF2019]otaku
先看这个doc,因为我默认是显示隐藏文字的
很有可能有些文字是隐藏的,所以再把隐藏文字开启,对比一下
发现被隐藏的文字是:
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.
flag.zip是伪加密,可以使用工具解决或者使用360压缩提取(无视伪加密)
给了这些提示,应该是明文攻击,新建一个txt文档,把上面得到的文字放进去,按照给出的压缩方式压缩
不过试了几次,得到的crc值都和last word.txt
的不一致
参考师傅们的wp发现,是编码
的问题,我这里默认是UTF-8,需要换成GBK
#encoding=GBK
f = open("test.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()
然后再按照相同方式压缩即可开始明文攻击
稍微跑一会就可以得到密码 My_waifu
,解压得到flag.png
发现lsb隐写痕迹,然后拿到flag
[湖南省赛2019]Findme
给了五个图
1.png
第一个图怪怪的,宽高应该是被修改了,先跑脚本爆破宽高,发现是227*453
,改完得到
继续用010分析,发现chunk[2]
、chunk[3]
缺少IDAT标识
在对应位置补上标识
修改保存之后,用Stegsolve
打开图片,发现二维码
扫码得到ZmxhZ3s0X3
2.png
发现2.png结尾有额外数据
把这块数据提取出来,保存为7z文件,发现打不开,于是把所有的7z换成PK,保存为zip文件
,如果打开时还报错就修复一下
解压发现有很多txt文件,其中618.txt是特殊的,查看它得到1RVcmVfc
3.png
注意到这些块的crc32校验值都比较小
把它们提取出来,转为十进制后再转字符,得到3RlZ30=
4.png
直接给出来了:cExlX1BsY
5.png
也是直接给:Yzcllfc0lN
接下来就是整合了,注意到3.png给的base64编码是以=结尾的,那么它对应的应该是放在最后,1.png应该是放在第一位
最后按照1 5 4 2 3
的顺序得到,base64解码得到flag
ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=
真的很杂
杂项题目经常混杂着奇奇怪怪的东西。。。不要想歪了!专心做题= =!最后获得的东西需要暴力得到哦(提示:前一个字母,后一个数字) 注意:得到的 flag 请包上 flag{} 提交
上来就被出题人调戏
尾部有额外数据,binwalk提取,东西真多啊…
注意到有一个dex文件,使用dex2jar反编译
再用jd-gui打开得到的classes-dex2jar.jar
,翻一下就能看到flag
这里有两个位置需要爆破的,最后得到flag{25f991b27fcdc2f7a82a2b34386e81c4}
[QCTF2018]X-man-A face
有个二维码,缺两个定位点,用QR扫不出来
两个思路,一个是p图,补全定位点,也可以到在线网站手动补
没啥技术含量,扫码得到KFBVIRT3KBZGK5DUPFPVG2LTORSXEX2XNBXV6QTVPFZV6TLFL5GG6YTTORSXE7I=
base32解码得到flag
voip
一个流量包,用wireshark打开,简单分析无果
百度一下看看voip是啥东西
然后点这个选项
听声音,它会读flag
得到flag{9001IVR}
u1s1,听起来挺费劲的
以上是关于BUUCTF MISC刷题笔记的主要内容,如果未能解决你的问题,请参考以下文章